勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

Advanced Custom Fieldsで設定した項目を条件に記事一覧を取得する方法

   2024/02/22  WordPress

WordPressでAdvanced Custom Fieldsにて設定した項目を条件に記事一覧を取得したかった。例えばテストフラグという真偽値のカスタムフィールドでtrueが入っている記事を取得したいというもの。以下に方法をメモ。

 

取得方法

まず前提として記事取得方法は以下を参照。

https://taitan916.info/blog/archives/2806

argsの部分に以下を追記する。

$args = array(
    'posts_per_page' => 3,
    'paged' => $paged,
    'orderby' => 'post_date',
    'order' => 'DESC',
    'post_type' => 'post',
    'post_status' => 'publish', 
    'meta_query' => array(
        array(
            'key' => 'テストフラグ', 
            'value' => true
        ),
    ),
);

複数指定したい場合は以下のような形になる。

$args = array(
    'posts_per_page' => 3,
    'paged' => $paged,
    'orderby' => 'post_date',
    'order' => 'DESC',
    'post_type' => 'post',
    'post_status' => 'publish', 
    'meta_query' => array(
        //真偽値のフィールド
        array(
            'key' => 'テストフラグ', 
            'value' => true
        ),
        //セレクトメニューのフィールド
        array(
            'key' => 'テストセレクト', 
            'value' => 1
        ),
    ),
);

 

プラグインのバージョン

使用中のバージョンは4.4.12でプラグインは以下の通り。

https://ja.wordpress.org/plugins/advanced-custom-fields/

 

まとめ

プラグインファイルの編集とかはいらず、meta_queryを指定することで対応が可能。

 - WordPress

  関連記事

WordPressでカスタムフィールドとCSVファイル投稿する方法

WordPressでカスタムフィールド設定している環境に、CSVファイルアップロ ...

WordPressで記事毎に設定したバナー広告を表示させる方法

WordPressでGoogleアドセンスのようなクリック広告ではなく、商品を指 ...

Advanced Custom Fieldsでセレクトメニューを動的に生成する方法

WordPressでカスタムフィールド設定用のプラグインAdvanced Cus ...

Advanced Custom Fieldsでチェックボックスの記事を取得

Advanced Custom Fieldsでチェックボックス設定しているカスタ ...

WordPressにてAdvanced Custom Fieldsを用いて連載(シリーズ)記事機能を実装する方法

先日「Series」プラグインで連載(シリーズ)記事機能の実装方法をメモしたが、 ...