以前カスタム投稿の記事取得の際、カスタムフィールドの値を検索条件に含める場合は以下のような方法で取得できると記録しました。

 

$args = array(
  'post_type' => 'post',
  'meta_key' => 'subtitle',
  'meta_value' => 'null',
);
$post_list = get_posts( $args );

 

しかし、チェックボックスを一つ用意し、チェックしてる記事を絞り込むとき、これでは上手くいきませんでした。

カスタムフィールドで絞り込みの時は、meta_keyとmeta_valueを使うことは同じようですが、もうひとつ設定が必要のようでした。

それはmeta_compareでした。

これは比較するときの種類を設定するようで、デフォルトでは「=」だそうで、一緒であればという判断となります。

チェックボックスの場合はこれはうまくいきませんでしたので別の「LIKE」に設定にすると絞り込み取得できました。

 

 

$args = array(
  'post_type' => 'post',
  'meta_key' => 'subtitle',
  'meta_value' => 'null',
  'meta_compare' => 'LIKE',
);
$post_list = get_posts( $args );