[wordpress] if 条件分岐 あれこれ

wordpress if

WorldPressのカスタマイズを始めると、ifを使った条件分岐は必要不可欠です。でも、ちょっと難しい(涙)コピペで使える様にまとめました。分岐を上手に使える様になれば、テンプレートだらけにならなくて済みます。私も勉強中ですが、皆さんも挑戦してみて下さい。

間違えがありましたら、ご連絡頂けると嬉しいです。

条件分岐って何?

以前ご紹介した、[wordpress] if 特定のカテゴリーなら の様に、「もし〇〇なら〇〇を表示する」といった感じです。

もしAなら 基本形

例:もし、カテゴリーがinformationなら、template-parts/info.phpのテンプレートを出力しなさい。

<?php if ( A ) : ?>
  // Aの時の処理
<?php else: ?>
// A以外の処理
<?php endif; ?>

<?php else: ?> は必要無ければ省く事が出来ます。また、
<?php else: ?> をどうしたいのかをセットにして足す事も出来ます。

もし、このカテゴリーなら

基本形に当てはめてみると、この様な感じです。もし、カテゴリーがinformatiion なら、子テーマ内のtemplate-partsフォルダの中のinfo.phpを表示させなさい。

<?php if(in_category('information')) : ?>
<?php get_template_part('template-parts/info'); ?>
<?php endif; ?>

IDでもOKです。カテゴリー設定のURL内で確認出来ます。

<?php if( is_category('カテゴリーID') ) : ?>
  //そのカテゴリーIDの時の処理
<?php else: ?>
  その他の時
<?php endif; ?>

複数に設定したい場合

arrayと,カンマで区切れば何個でも設定出来ます。

<?php if( is_category( array('カテゴリー', 'カテゴリー') ) ) : ?>

もし、特定の記事ページなら

<?php if( is_single('投稿のID') ) : ?>
  //投稿のIDの時の処理
<?php else: ?>
  その他のIDの時の処理があればココに
<?php endif; ?>

ページのIDは投稿記事のエディタ(編集画面)のURLにpost=XXXってあります。この記事であれば、 https://cocotiie.com/wp-admin/post.php?post=4771・・・・・

又は、該当ページを右クリックし、ソースコードを表示します。<body・・・・・・の中に postid-XXXと確認する事が出来ます。

もし、このタグなら

<?php if( is_tag('タグID') ) : ?>

もし、タグページなら

<?php if( is_tag() ) : ?>

もし、固定ページなら

<?php if ( is_page() ) : ?>

もし、アーカイブページなら

<?php if( is_archive() ) : ?>

最後に

とっつきにくいかもしれませんが、始めはコピペで ぜひやってみて下さい。

過去に書いた分岐関連の記事です。

逆引き等、1冊あると便利です。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください