コーディング

WordPressで後から追加したカスタムフィールドを抽出条件にする時

  • このエントリーをはてなブックマークに追加

寒くなって、布団から抜け出すためのアイドリング時間が長くなってきている
制作部 川崎です。

WordPressで作成したサイトのメンテをしていると
新しくカスタムフィールドに日付項目を追加して、
今日より古いデータを取得したいというケースがたまにあると思います。

この時に、単純にmeta_queryに条件追加しても、思った通りにデータが取得できまないことがあります。
新しく項目を追加しても、既に投稿されているデータには追加した項目が存在していない為です。
(Wordpressのカスタムフィールドのデータの保存方法上仕方ないです。)

‘meta_query’ => array(
array(
‘key’ => ‘add_item’,
‘value’ => $today,
‘compare’ => ‘<‘,
‘type’ => ‘DATE’
)
)

確かに、これだと項目が存在しないデータはヒットしません。

全データを更新して、新しい項目に値を設定すれば何も問題ないんですけど・・・
修正対象になるデータが多いと大変です。

そんな時は、
とりあえず「NOT EXISTS」を条件に入れてあげれば、
項目自体が存在していないものが対象になるので、データは取得出来る様になります。

‘meta_query’ => array(
‘relation’=>’OR’,
array(
‘key’ => ‘new_item’,
‘compare’ => ‘NOT EXISTS’,
),
array(
‘key’ => ‘add_item’,
‘value’ => $today,
‘compare’ => ‘<‘,
‘type’ => ‘DATE’
)
)

これで
追加した項目が、当日より古いデータが全て取得できる様になります。

  • このエントリーをはてなブックマークに追加

【Webデザイナー募集!】D-Gripで一緒に働きませんか?

ただいま株式会社D-Gripシステムでは、制作部として一緒に働いてくれるWebデザイナーさんを募集しています。

実務経験がある方はもちろん、専門学校や独学で勉強された未経験の方でも歓迎です!
800サイト以上の運営実績のある会社で、プロのWEBデザイナーへの道を着実に歩んでいきませんか?

お問い合わせはコチラから↓
採用サイトへ

お電話はコチラから↓
TEL:03-5363-2191

採用サイトへ