WordPressでカスタムフィールドkeyの設定されていない記事を絞り込む時の注意点
途中からカスタムフィールドを追加すると、それまでに書いた記事には、カスタムフィールドのkeyが存在しないため、meta_queryを指定してしまうと記事が取得できなくなってしまいます。
1 2 3 4 5 6 7 | 'meta_query' => array( array( 'key' => 'display_on', 'value' => 1, 'compare' => '!=' ) ) |
この value値をnullなどにしてもそもそもkeyがないので、意味がありません。
過去記事が数件であれば、1件ずつ保存していけばいいのですが、何百記事となるとそんなこと出来ません!!
そういった場合には、検索条件に ‘compare’ => ‘NOT EXISTS’ を追加することでkeyがない記事についても表示することが出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 | 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'display_on', 'compare' => 'NOT EXISTS' ), array( 'key' => 'display_on', 'value' => 1, 'compare' => '!=' ) ) |
コメントを残す