WordPress Advance custom field の条件分岐

WordPress Advance custom field の条件分岐

WordPress Advance custom fieldの条件分岐

カスタム投稿タイプなどを一覧表示をするときに、そのカスタム投稿タイプ内のカスタムフィールドの値を使って条件分岐をしたいときなどがあると思います。
そんな時の考えをメモします。

Code

args = [
‘post_type’ => ‘municipality’,//カスタム投稿名
‘posts_per_page’ => 10, // 表示する数
‘meta_query’ => [
[‘key’=> ‘prefectures’,’value’=> $prefecture,’compare’ => ‘LIKE’],//都道府県検索
[‘key’=> ‘city’,’value’=> $city,’compare’ => ‘LIKE’],//市区町村検索
]
];

解説

概要
データベースに検索を投げるときは、$argsの条件により、クエリを投げます。
そして、$argsの値をWp_Queryの引数に与えることで、検索条件の内容を取得・表示がされます。

コード解説
下記のmeta_queryにより、カスタムフィールドを複数条件かけることができます。
今回は、カスタムフィールドに「都道府県」「市区町村」がある投稿を取得ということになります。
ちなみに、デフォはANDとなっていますので、ORにしたいときは、
こちらを入れます。’relation’ => ‘OR’,

※’compare’ => ‘LIKE’とは、チェックボックス・セレクトボックスなどの複数選択があるものはLIKEをつけないと取り出せません。

‘meta_query’ => [
[‘key’=> ‘prefectures’,’value’=> $prefecture,’compare’ => ‘LIKE’],//都道府県検索
[‘key’=> ‘city’,’value’=> $city,’compare’ => ‘LIKE’],//市区町村検索
]

参考URL