勉強したことのメモ

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にてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法

WordPressにてAdvanced Custom Fieldsで設定したカス ...

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

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

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

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

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

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

Advanced Custom FieldsでGoogleMapの使用する方法

Advanced Custom FieldsでGoogleMapを使用したかった ...