wordpress if文wordpress条件分岐

【wordpress】条件分岐によってページ毎に別デザインする方法

2019.10.28 / 2020.12.07

条件分岐させるにPHPのif文を使用

英語の授業で習ったif~を用いてページ毎に違った表示をさせます。
wordpessはphpで構築されている&wordpressで用意されている関数を利用するといった流れです。

if文の書き方

phpの書き方自体いくつかあるのですが、自分はhtmlを内包させた場合分けて書くの下記のようにしがちです。

<?php if(条件A):?>
//条件Aのページの時に表示させたいコンテンツ
<?php else:?>
//条件Aの時以外に表示させたいコンテンツ
<?php endif;?>

elseは省略できます
具体的に書くと

<?php if(is_home()):?>
//トップページに表示させたいコンテンツ
<?php endif;?>

is_home()はwordpressが用意している条件分岐です。

<?php if(is_home() || is_front_page()):?>
//トップページに表示させるコンテンツ
<?php elseif(is_page(array('ページID'))):?>
//ページIDで分岐。表示させるコンテンツ
<?php elseif(is_page('contact')):?>
//スラッグ(contact)で分岐。
<?php endif;?>

ポイント

WordPressの本文のpやhタグにclassをつける
プラグインなしで絞り込み機能の設置
カスタム投稿タイプのURLをIDに変更する方法
検索結果からページを除外
会員限定記事と一般公開記事にそれぞれ別のアイコンを設定
カスタム投稿タイプにカテゴリ&タグ追加しアーカイブページで表示
メインループとサブループの表示
記事のカテゴリーの取得と表示方法