WorldPressのカスタマイズを始めると、ifを使った条件分岐は必要不可欠です。でも、ちょっと難しい(涙)コピペで使える様にまとめました。分岐を上手に使える様になれば、テンプレートだらけにならなくて済みます。私も勉強中ですが、皆さんも挑戦してみて下さい。
間違えがありましたら、ご連絡頂けると嬉しいです。
INDEX
条件分岐って何?
以前ご紹介した、[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冊あると便利です。
コメント ※ハンドルネームでお願いします