wordpress カスタムフィールド条件分岐

【wordpress】カスタムフィールド が空の場合の処理方法メモ

2020.05.18 / 2020.12.08

カスタムフィールドの値がない場合

カスタムフィールドが空だった場合の備忘録になります。
自分はプラグインの「smart custom field」利用時に割と重宝しました。

通常のカスタムフィールドの場合

<?php $cf = get_post_meta($post->ID, 'カスタムフィールド名', true);?>
<?php if(empty($cf)):?>
    //空だった場合の処理
<?php else:?>
  //記述が有る場合の処理
    <?php echo post_custom('カスタムフィールド名');?>
<?php endif;?>

(複数の値)通常のカスタムフィールドの場合

<?php $cf = get_post_meta($post->ID, 'カスタムフィールド名', true);?>
<?php if(empty($cf)):?>
    空だった場合の処理
<?php else:?>
    <?php $photo = post_custom('カスタムフィールド名'); ?>
    <?php if(count($photo) == 1 ):?>
        ひとつ記述が有る場合の処理
    <?php elseif(count($photo) >= 2 ):?>
        複数の記述が有る場合の処理
        <?php foreach ($photo as $key => $value) { echo $value; } ?>
    <?php endif;?>
<?php endif;?>

ポイント

  • get_post_metaでメタ情報(カスタムフィールド)を変数に格納

  • post_customはカスタムフィールドの値を取得

ポイント

会員限定記事と一般公開記事にそれぞれ別のアイコンを設定
カスタム投稿タイプのURLをIDに変更する方法
条件分岐によってページ毎に別デザインする方法
WordPressの本文のpやhタグにclassをつける
固定ページのスラッグを取得し、そのスラッグに応じて表示するテンプレートを変更する
カスタム投稿タイプにカテゴリ&タグ追加しアーカイブページで表示
メインループとサブループの表示
プラグインなしで絞り込み機能の設置