プログラミングの学習ならUdemyがおすすめです!詳細はこちら

【WordPress】WP_Queryを使ってカスタムフィールドの特定の値を絞り込んで一覧表示する方法。複数も対応。

WP_Queryを使ってカスタムフィールドの特定の値を絞り込んで一覧表示するコードをご紹介します。

カスタムフィールドの特定の値を絞り込んで一覧表示方法

コードは以下になります。

<?php $args = Array(
            'post_type' => 'post',//投稿タイプを指定.カスタム投稿ならカスタム投稿名
            'posts_per_page' => -1, //ページあたり何件表示するか。-1の場合全て表示
            'meta_key' => 'test',//カスタムフィールドキー
            'meta_value' => '値'//絞り込みたいカスタムフィールドの値を入れる
        );
$the_query = new WP_Query($args);
if($the_query -> have_posts()):
    while($the_query -> have_posts()): $the_query -> the_post();
        //ここに処理を記述
    endwhile;
endif;
wp_reset_postdata();

?>

 

上記のコードは一つのカスタムフィールドを絞り込む方法です。

では複数絞り込みたい場合はどうすればいいか?

複数のカスタムフィールドの値を絞り込む方法

<?php $args = Array(
            'post_type' => 'post',//投稿タイプを指定.カスタム投稿ならカスタム投稿名
            'posts_per_page' => -1, //ページあたり何件表示するか。-1の場合全て表示
            "meta_query" => array(
                "relation" => "AND",
                "a" => array(
                  "key" => "test", //カスタムフィールドキー名
                ),
                "b" => array(
                  "key" => "test2",//カスタムフィールドキー名
                ),
              ),
              "orderby" => array(
                "a" => "ASC", //順番
                "b" => "ASC",
              ),
        );
$the_query = new WP_Query($args);
if($the_query -> have_posts()):
    while($the_query -> have_posts()): $the_query -> the_post();
        //ここに処理を記述
    endwhile;
endif;
wp_reset_postdata();

?>

 

複数の値で絞り込みたい場合は配列を使用して絞り込みます。

以上になります。

参考サイト

参考 関数リファレンス/WP Query WordPress Codex 日本語版

コメントを残す

メールアドレスが公開されることはありません。