カスタムフィールドの値の有無で処理を変える

電脳備忘録

年に数回というか、たまにWordPressをいじることがあります。たまにしかいじらないのですぐ忘れてしまいます。 ということで備忘録として残しておきます。カスタム投稿タイプ?なにそれ?食べれるの?

今回やりたかったことは「カスタムフィールドの値の有無で処理を切り替える」です。
具体的にはカスタムフィールド「url」に値がなければタイトルを表示、値があればリンクつきのものにします。
今回の用途でカスタムフィールドの値を使うには「get_post_meta」を使うといいようです。

カスタムフィールドは「advanced-custom-fields」というプラグインでカスタマイズしています。

投稿IDとキーを指定して値を取得する場合はget_post_meta関数を使う。get_post_meta('$post_id', '$key', '$single')関数は引数を3個とりループ内・ループ外の両方で使用できる。
$post_id → カスタムフィールドの中身を取出したい投稿ID
$key → カスタムフィールドの箱の名前
$single → 同じ名前の項目が複数あった場合に最初の値だけを返すか全部を返すかを設定する。
TRUEは最初の値だえけを返す。
FALSEは全部の値を返す。FALSEを指定した場合はキーが重複して登録されているとき配列を返す。

カスタムフィールド 値の取得・表示およびフィールドのカスタマイズ: WordPress

こんな感じで記述して無事データを引っ張り出すことができました。

<?php $website_url = get_post_meta($post->ID,'url',true);?>
<?php if(empty($website_url)) : ?>

<?php the_title(); ?>

<?php else : ?>

<?php the_title(); ?>

<?php endif; ?>

広告

ブログの維持費に充てるでございます・・・。