【WordPress】デイトピッカーの日付で記事をソートする方法

ブログ・サイト
ブログ・サイト
この記事は約3分で読めます。

とっちゃん@nyanco! です。

今回はWordPressのカスタムフィールド「デイトピッカー」の日付順で記事一覧を並び替える方法の覚書です。

肉玉にゃんこ

プラグイン「Custom Post Type UI」で追加するような「カスタム投稿」にも対応できますにゃ~

スポンサーリンク

投稿記事一覧は「公開日」順に並ぶ

普通、WordPressの投稿記事は「公開日」が新しい順に並びますが、イベントやセミナーの告知記事などを一覧にする時は「公開日」ではなく「イベントの開催日」順にしたいケースもありますよね。

肉玉にゃんこ

各投稿記事の「公開日」を修正すると並び順を意図的に変更することもできますが、なかなか面倒ですにゃ~

そんな時は、「デイトピッカー」という「日付」のカスタムフィールドを追加して各投稿記事ごとに「開催日」の情報を設定しておくことで、「公開日」に関係なく常に「開催日」順に記事一覧が並ぶようになるので非常に便利です。

本記事ではそのやり方をご紹介します。

「デイトピッカー」とは?

そもそも「デイトピッカー」とは、プラグイン「Advanced Custom Fields(ACF)」で追加できるカレンダー式のカスタムフィールドです。

肉玉にゃんこ

カレンダーなので曜日も分かりやすく直感的に選択できて優秀なやつですにゃ~

▼こんな見た目のとても使いやすいユーザーインターフェイスです。

「デイトピッカー」の日付順に記事を並び替える方法

WordPressループのパラメータ設定で下記コードを追加するだけでOKです。

'post_type' => '投稿タイプを入力', /* カスタム投稿名 */
'meta_key' => 'カスタムフィールド名', /* 「デイトピッカー」のフィールド名 */
'orderby' => 'meta_value', /* 並び順の基準の指定。この場合は'meta_key'で指定したフィールドの値 */
'order'=> 'DESC', /* 降順でソート(昇順は'ASC') */

‘post_type’に設定する「投稿タイプ」は下記のようなものがあります。

  • post:通常の投稿
  • page:固定ページ
  • revision:リビジョン(いわゆる「履歴」。使うのか?)
  • attachment:添付ファイル(これも使うのか??)
  • any:全部の投稿タイプ(リビジョンを除く)
  • カスタム投稿名(例:event)

具体例は下記となります。

<?php
$args = array(
'post_type' => 'event', /* カスタム投稿名 */
'meta_key' => 'event_date',/* 「デイトピッカー」のフィールド名 */
'orderby' => 'meta_value',/* 並び順の基準の指定 */
'order' => 'DESC',/* 降順でソート */
); ?>

おわりに

本記事がどなたかの参考になれば幸いです。

今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧

コメント

タイトルとURLをコピーしました