WordPressでカスタムフィールドのキーが存在しない場合の条件分岐がしたかったので、調べてみた。
カスタムフィールドの値の有無で条件分岐
よくあるパターンがこれ
$hoge = get_post_meta($post->ID, 'カスタムフィールド名', true);
if( empty( $hoge ) ){
// カスタムフィールドの値が存在しない場合の処理
} else{
// 値が存在する場合の処理
}
しかし、今回やりたいのは値じゃなくて、カスタムフィールド名が無い場合の条件分岐、なのでこれでは出来ない。
カスタムフィールド名の有無で条件分岐
なんか色々emptyの所にカスタムフィールド名とか入れたりしてみたけど、結果的に出来たのがこれ
$hoge = get_post_meta($post->ID, 'カスタムフィールド名', false);
if( empty( $hoge ) ){
// カスタムフィールド名が存在しない場合の処理
} else{
// カスタムフィールド名が存在する場合の処理
}
どうやら3つ目のパラメータをfalse、または指定無し、に設定して、配列で受け取ってやらないとダメみたい。