Category
Archives
Cocotiie
2006年:Web制作に関する覚書きブログをはじめる。

2018年:Cocotiie(ココッティー)・・・ここちいい(笑)として運営開始。

Trial And Errorの精神で勉強中です。少しでも誰かの助けになれれば嬉しいです。宜しくお願い致します。
テーマをSWELLにしてリニューアルしましたSWELLについて

[WordPress] if 分岐 投稿タイプ/カスタムフィールド

[wordpress] if 特定のカテゴリーならで、ベーシックな使い方をご紹介しましたが、今回は「カスタム投稿の場合」と「カスタムフィールド」の分岐についての覚書です。分岐を使いこなせれば、個々のテンプレートが増えずに済むので管理も楽になりますね。
使いこなせる様になりたいです。

INDEX

カスタム投稿の分岐

使える状態になっている事が前提です。下記の記事を参照下さい。

if 投稿タイプ名なら

singleページにカスタム投稿タイプの記事だけテンプレートを挿入したい時
※テンプレートではなく、直接書いてもOKです

子テーマの中に[myphpfiles]という名前のフォルダを作り、挿入したいテンプレート(info-tokyo.php)を入れておく事とします。

  • 投稿タイプ名:city
<?php if (get_post_type() === 'city'): ?>
  <?php get_template_part('myphpfiles/info-tokyo'); ?> //実行したい処理
<?php endif; ?>

if タクソノミー(カテゴリ)なら

カスタム投稿タイプを設定、その下層にタクソノミー(カテゴリ)を設定している事とします。

singleページにタクソノミー(カテゴリ)に応じたテンプレートを挿入したい時
※テンプレートではなく、直接書いてもOKです

子テーマの中に[myphpfiles]という名前のフォルダを作り、挿入したいテンプレート(info-tokyo.php)を入れておく事とします。

  • 投稿タイプ名:city
  • タクソノミー名(各カテゴリーのスラッグ名):tokyo、osaka など

もし、カテゴリーがtokyoなら、info-tokyo.phpを。osakaなら、info-osaka.phpを使う。

<?php if (has_term('tokyo','city') && is_single()): ?>
    <?php get_template_part('myphpfiles/info-tokyo'); ?> //実行したい処理
    <?php elseif (has_term('osaka','city') && is_single()): ?>
        <?php get_template_part('myphpfiles/info-osaka'); ?> //実行したい処理
        <?php else : ?>
<?php endif; ?>

カスタムフィールドの分岐

カスタムフィールド関連記事

例題が雑ですが、応用次第では便利です。

  • 名前:味
  • 値:good / bad

goodなら「美味しいです」を表示し、badなら「不味いです」を表示します。

<?php if(get_post_meta($post->ID,'味',true) == 'good'): ?>
<p>美味しいです</p>
<?php elseif (get_post_meta($post->ID,'味',true) == 'bad'): ?>
<p>不味いです</p>
<?php else : ?>
<?php endif; ?>
よかったらシェアお願いします

コメント

コメントする

INDEX
閉じる