よく使う条件分岐タグ_WordPress
出力内容の出し分けやページ毎にスタイルを変更したい場合によく使う条件分岐タグですが、ぜんぜん頭に入ってこないのでいくつかまとめました。
TOPページ
<?php if ( is_front_page() && is_home() ) : ?> //デフォルトホームページ <?php endif; ?>
<?php if ( is_front_page() ) : ?> //固定ペーシを使ったホームページ <?php endif; ?>
<?php if ( is_home() ) : ?> //ブログページ <?php endif; ?>
固定ページ
<?php if ( is_page() ) : ?> //固定ページ <?php endif; ?>
アーカイブページ
<?php if ( is_archive() ) : ?> //アーカイブページ <?php endif; ?>
<?php if ( is_post_type_archive() ) : ?> //投稿タイプで分岐 <?php endif; ?>
<?php if ( is_category() ) : ?> //カテゴリーで分岐 <?php endif; ?>
<?php if ( is_tag() ) : ?> //タグで分岐 <?php endif; ?>
<?php if ( is_tax() ) : ?> //タクソノミーで分岐 <?php endif; ?>
シングルページ
<?php if ( is_single() ) : ?> //IDで分岐 <?php endif; ?>
<?php if ( in_category() ) : ?> //指定のカテゴリーに属するシングルページ <?php endif; ?>
<?php if ( is_singular( 'custom-post-type' ) ) : ?> //指定のカスタム投稿タイプのシングルページ <?php endif; ?>
ログイン済みユーザーのみ
テスト環境がなく、本番環境での直接の更新が必要な場合に使えるタグです。
<?php if ( is_user_logged_in() ) : ?> //ログインしたユーザーのみに表示される <?php endif; ?>
基本的な使い方
<?php if ( is_page('7') ) : ?> //IDを指定した分岐 <?php endif; ?> <?php if ( is_page('Title') ) : ?> //タイトルを指定した分岐 <?php endif; ?> <?php if ( is_page('slug') ) : ?> //スラッグを指定した分岐 <?php endif; ?>
//同じ内容の条件分岐をまとめて記述 <?php if ( is_page( array( 7, 'Title', 'slug' ) ) ) : ?> //条件のID、タイトル、スラッグのいずれかに当てはまる場合 <?php endif; ?>
//異なる内容の条件分岐をまとめて記述 <?php if ( 条件1 ) : ?> //条件1 <?php elseif ( 条件2 ) : ?> //条件2 <?php else: ?> //1.2のいずれにも当てはまらない <?php endif; ?>
//その他複数条件などの記述方法 <?php if ( ! is_page('7') ) : ?> //ID7ではない場合 <?php endif; ?> <?php if ( is_archive() && ! is_category( 'news' ) ) : ?> //カテゴリー"news"を除く、カテゴリーアーカイブページの場合 //&&はどちらの条件も満たす場合の記述(and) <?php endif; ?> <?php if ( is_post_type_archive( 'fruits' ) || is_category( 'news' ) ) : ?> //カスタム投稿タイプ"fruits"のアーカイブ、またはカテゴリー"news"のアーカイブの場合 //||はどちらかの条件が当てはまる場合の記述(or) <?php endif; ?>
まだいろいろとありそうですが…なにせ頭に入ってこないので、どのタグをよく使うかもちょっとあやふやです。
気がついたらまた記事を更新します。