カスタムフィールドでのソートについて
-
現在カスタムフィールドを用いて、投稿日ではなくフィールド内で使用している日付で投稿一覧をソートするようにしています。
具体的には、archive.phpに対し、記事呼び出しループ処理が元々は以下のようにしていたところを<?php if ( have_posts() ) : ?> <?php /* Start the Loop */ ?> <?php while ( have_posts() ) : the_post(); ?> //テンプレート呼び出し <?php endwhile; ?> <?php if(function_exists('wp_pagenavi')) : wp_pagenavi(); endif; ?> <?php else : ?> //テンプレート呼び出し <?php endif; ?>
こちらのような記述に変更しました。
<?php // 投稿をカスタムフィールドの値でソートする $args = array( // クエリの作成 'post_type' => '投稿タイプ', // 投稿タイプの指定 'orderby' => 'meta_value_num', // カスタムフィールド値が数値の場合 meta_value_num を指定 'posts_per_page' => -1, // すべての投稿を表示 'meta_query' => array( // カスタムフィールドの指定 array( 'key' => 'フィールド名', // フィールド名の指定 'type'=>'DATE' // カスタムフィールドの値が日付であることを宣言 ) ) ); $the_query = new WP_Query($args); if($the_query->have_posts()): ?> <?php while ($the_query->have_posts()): $the_query->the_post(); ?> //テンプレート呼び出し <?php endwhile; ?> <?php if(function_exists('wp_pagenavi')) : wp_pagenavi(); endif; ?> <?php else : ?> //テンプレート呼び出し <?php endif; ?>
ところがこちらの記述を行ったところ、投稿一覧から、特定のカテゴリーを選択すると、以前は選択したカテゴリーのみが表示されたのですが、おそらく日付順でソートするという記述を行ったせいか、カテゴリーを選択しても投稿一覧と同じように、全ての記事が日付順にソートされた状態で出てきてしまいます。
これを、カテゴリーを選択した場合は、そのカテゴリーが日付順にソートされた状態で出てくる、という風にするにはどのようにすればよいでしょうか。
function.phpに記述するのか、別のphpを用意するのか等、初心者のため詳細に教えて頂けますと助かります。
よろしくお願いいたします。
- トピック「カスタムフィールドでのソートについて」には新たに返信することはできません。