更新 2021 / 4 / 28
カスタムフィールドのkeyで絞り込みしたカスタム投稿の一覧表示
やりたかった事
カスタムフィールドのpriceと言うkeyで取得して、priceに入力された数字(価格)で高い順にカスタム投稿を並べたかった。
archive.phpやtaxonomy.phpなど
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$posts_per_page = 12; //1ページの中に出力する記事数を定義
query_posts($query_string . '&posts_per_page='.$posts_per_page.'&paged=' . $paged);
$args = array(
'post_type' => 'house', //カスタム投稿タイプ
'posts_per_page' => $posts_per_page, //1ページの中に出力する記事数(上の変数で定義する)
'paged' => $paged,
'order' => 'DESC', //並び順 ASCまたはDESC
'meta_key' => 'price', //並び替えに利用したいカスタムフィールドのキーを指定
'orderby' => 'meta_value_num', //数値の場合はmeta_value_num
'tax_query' => array(
array(
'taxonomy' => 'houselist', //タクソノミーを指定
'field' => 'slug', //ターム名をスラッグで指定する
'terms' => array( 'area' ) //表示したいタームをスラッグで指定
),
),
);
?>
<?php $my_query_sample = new WP_Query( $args ); ?>
<?php if ($my_query_sample->have_posts()): ?>
<?php while ( $my_query_sample->have_posts() ) : $my_query_sample->the_post(); ?>
<!--ループ-->
<?php endwhile; ?>
<?php else: ?>
<p>現在表示できる記事はありません。</p><br>
<?php endif; ?>
<?php if(function_exists('wp_pagenavi')) { //ページネーションプラグイン
wp_pagenavi(array('query'=>$my_query_sample));
} ?>