逆の記事はあるけど・・・
指定したカスタムフィールドが「存在する」場合の一覧を取得する方法についてはいくつかの記事がある。
$posts = get_posts(array(
'post_type' => 'post',
'meta_key' => 'key_name',
'meta_value' => 'null',
'meta_compare' => '!='
));
また、指定したカスタムフィールドの値が空の場合の記事もある。
$posts = query_posts(array(
'post_type' => 'post',
'meta_key' => 'key_name',
'meta_value' => ' ',
'meta_compare' => '='
));
でも指定したカスタムフィールドが「存在しない」場合について書かれてる記事が見つからない。。
答えは海外のサイトにあり
日本語での記事はないかーと諦めて「wordpress get_posts meta_key empty」でググったら出てきました。
$posts = get_posts(array(
'post_type' => 'post',
'meta_key' => 'key_name',
'meta_compare' => 'NOT EXISTS'
));
上記のコードで無事に「指定したカスタムフィールドが存在しない記事の一覧」を取得することに成功しました。
めでたしめでたし。
その他
get_posts
と query_posts
について
get_posts
や query_posts
で使えるパラメーターの一覧