カスタムフィールドを後で追加した場合、追加前の記事は「そのカスタムフィールドは存在しない」という状態になっている。
NULLでも空白でもなく「存在しない」という状態。
NULLか空白にする場合は、記事を一つずつ開いて更新する必要がある。
追加したカスタムフィールドを検索条件にしたい場合、存在しない状態だとNULLや空白を取得条件にしても弾かれてしまう。
その場合は"NOT EXISTS"で検索すると吉。
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => 'sample_field',
'compare' => 'NOT EXISTS'
)
)
);
$query = new WP_Query( $args );
こちらのサイトを参考にさせていただきました。
https://ippaiattena.co.jp/blog/job/3996/