特定のページだけに表示させたい! よく使う条件分岐

2021-01-11

「トップページだけに表示させたい」「一覧ページだけ変更したい」
そんな時便利なのが条件分岐です。

このページでできること

  • ・よく使う条件分岐をコピペできます。

phpで使える便利な条件分岐

トップページとその他

<?php if ( is_home() || is_front_page() ) : ?>
  トップページに表示させたいものを入れる
<?php else: ?>
  トップページ以外はこちら
<?php endif; ?>

 

カテゴリーとその他

カテゴリーごとに表示を変える場合

<?php if( is_category('カテゴリーのIDを入れる') ) : ?>
そのカテゴリーに表示させたいものを入れる
<?php elseif ( is_category('カテゴリーのIDを入れる') ) : ?>
そのカテゴリーに表示させたいものを入れる
<?php else: ?>
それ以外はこちら
<?php endif; ?>

 

複数のカテゴリーとその他

カテゴリーごとに表示を変える場合

<?php if( is_category( array('カテゴリーのID', 'カテゴリーのID') ) ) : ?>
そのカテゴリーに表示させたいものを入れる
<?php else: ?>
それ以外はこちら
<?php endif; ?>

 

カテゴリーとその他

カテゴリーのスラッグごとに表示を変える場合

<?php if( is_category('スラッグ') ) : ?>
そのカテゴリーに表示させたいものを入れる
<?php elseif ( is_category('スラッグ') ) : ?>
そのカテゴリーに表示させたいものを入れる
<?php else: ?>
それ以外はこちら
<?php endif; ?>

 

カテゴリー内の記事(一覧)

<?php if( in_category('カテゴリーのIDを入れる') ) : ?>
同じカテゴリーの記事に表示させたいものを入れる
<?php else: ?>
それ以外はこちら
<?php endif; ?>

 

指定以外を表示させる

<?php if( !is_page() ) : ?>
上で指定した以外のページがここに表示されます。
この場合は固定ページ以外
<?php endif; ?>

 

どちらかに当てはまる場合に表示させる

<?php if ( is_page('固定ページのID') || is_page('固定ページのID') ) : ?>
<?php else: ?>
<?php endif; ?>

 

固定ページとその他

固定ページごとに表示を変える場合

<?php if( is_page('固定ページのID') ) : ?>
その固定ページに表示させたいものを入れる
<?php elseif ( is_page('固定ページのID') ) : ?>
その固定ページに表示させたいものを入れる
<?php else: ?>
それ以外はこちら
<?php endif; ?>

 

複数の固定ページとその他

固定ページごとに表示を変える場合

<?php if( is_page( array('固定ページのID','固定ページのID','固定ページのID') ) ) : ?>
その固定ページに表示させたいものを入れる
<?php else: ?>
それ以外はこちら
<?php endif; ?>

 

その他

投稿ページだけに表示させたい
<?php if ( is_single() ) : ?>

カテゴリーの1ページ目だけに表示させたい
<?php if( is_category() && !is_paged() ) : ?>

モバイルで閲覧する時だけに表示させたい
<?php if ( wp_is_mobile() ) : ?>

検索結果の一覧に表示させたい
<?php if (  is_search() ) : ?>

404ページに表示させたい
<?php is_404(); ?>

 

親ページの分岐

親ページスラッグによって判定できない?と思って調べていたら、こちらのページがとても分かりやすかったです!

条件分岐でクラスを追加

分岐を使って、特定のページにクラスをつけることも。
ページのテンプレートやheader、footer、sidebarなどで設定しておけば、該当するページだけに表示されるクラスがつけられます!

例)IDが677の固定ページならクラスを追加
<div <?php if(is_page('677')) echo 'class="クラス名"'; ?>>
コンテンツ
</div>
例)IDが677の投稿ページならクラスにtest2を追加
<div class="test <?php if(is_single('677')) echo 'test2'; ?>">
コンテンツ
</div>