【Wordpress】カスタムフィールドの存在確認チェックは要注意!
ワードプレスの「get_post_meta()」という関数がありますよね・・?
記事のカスタムフィールドの値を取得するための関数です。
この関数で、存在しないカスタムフィールドを取得したときの戻り値をチェックするとき、要注意が必要です。
戻り値には「null」ではなくて、「""」が入っています。
なので、下記のように「isset」などを使って存在確認チェックをしようとすると、痛い目を見てしまいます・・。
$key = 'hogehoge_count'; $count = get_post_meta(get_the_ID(), $key, true); //これではダメ! if (!isset($count)){ echo("存在しません!"); } //これが正しい!! if ($count == ""){ echo("存在しません!"); }
公式ページにも、引数三項目にtrueを入れたときは、戻りを文字列で返すと書いてありますね。
関数リファレンス/get post meta - WordPress Codex 日本語版
なんというビックリ実装・・びっくりした~!
以上!