ACF選択肢の設定
チェックボックスで複数選択可能な選択肢を作成
1 : boho
2 : hippie
3 : gypsy
悪い例
category_IDの数字と選択された値(数字)を完全一致させた投稿を取得したいができない例
$args = array(
'posts_per_page' => -1,
'meta_key' => 'bohemian_cat',
'meta_value' => $category_ID,
//'meta_compare' => '=',//デフォルト
);
query_posts( $args );
絞れない原因
複数選択された情報はシリアライズされた形式で{s:値のバイト数:"値";}のようにmeta_valueとして保存される。echoしてみるとecho post_custom('bohemian_cat');
a:2:{i:0;s:1:"2";i:1;s:1:"3";}
'meta_compare' => 'LIKE',だけでは対策にならない
シリアライズされた形式内にバイト数の数字が入るためバイト数の数字と一致してしまう可能性があるため良い例
シリアライズされた形で保存形式ないの「:"値";」をターゲットにし部分一致検索$args = array( 'posts_per_page' => -1, 'meta_key' => 'bohemian_cat', 'meta_value' => ':"' . $category_ID . '";'; 'meta_compare' => 'LIKE', ); query_posts( $args );