WordPress

WordPressで覚えておきたい条件分岐の書き方

WordPressではページに応じて表示内容を変えたりしたいことが多々あると思いますが、その時に使われるのが条件分岐タグです。

かなりたくさんのパターンがありますが、基本的な条件分岐の書き方と、よく使われる条件分岐をまとめました。

条件分岐の基本的な書き方

<?php if(条件1):?>
 条件1に当てはまる場合
<?php elseif(条件2):?>
 条件2に当てはまる場合
<?php else:?>
 条件1にも条件2にも当てはまらない場合
<?php endif;?>

条件が1つの場合はelseif、elseを省略することができます。また、条件を増やしたい場合はelseifを増やして条件を追加していきます。

条件1もしくは条件2

<?php if(条件1 || 条件2):?>
 条件1もしくは条件2に当てはまる場合
<?php endif;?>

条件1かつ条件2

<?php if(条件1 && 条件2):?>
 条件1と条件2の両方に当てはまる場合
<?php endif;?>

条件1と条件2が等しい場合

<?php if(条件1 == 条件2):?>
 条件1と条件2が等しい場合
<?php endif;?>

条件1と条件2が等しくない場合

<?php if(条件1 !== 条件2):?>
 条件1と条件2が等しくない場合
<?php endif;?>

条件1ではない

<?php if(!条件1):?>
 条件1ではない場合
<?php endif;?>

WordPressでよく使われる条件分岐

トップページ

<?php if ( is_home() || is_front_page() ) : ?>
 トップページで行う処理
<?php endif; ?>

トップページの1ページ目だけ

<?php if( ( is_home() || is_front_page() ) && !is_paged() ) : ?>
 トップページの1ページ目で行う処理
<?php endif; ?>

記事ページ

<?php if ( is_single() ) : ?>
 記事ページで行う処理
<?php endif; ?>

特定の記事ページ(ID)

<?php if( is_single(‘投稿ID’) ) : ?>
指定した記事ページで行う処理
<?php endif; ?>

特定の記事ページ(スラッグ)

<?php if( is_single(‘スラッグ名’) ) : ?>
指定した記事ページで行う処理
<?php endif; ?>

特定の記事ページ(タイトル)

<?php if( is_single(‘タイトル名’) ) : ?>
指定した記事ページで行う処理
<?php endif; ?>

複数の記事ページ

<?php if( is_single( array(‘投稿ID’,’スラッグ名’,’タイトル名’) ) ) : ?>
 指定した記事ページで行う処理
<?php endif; ?>

固定ページ

<?php if ( is_page() ) : ?>
 固定ページで行う処理
<?php endif; ?>

特定の固定ページ(ID)

<?php if( is_page(‘ページID’) ) : ?>
 指定した固定ページで行う処理
<?php endif; ?>

特定の固定ページ(スラッグ)

<?php if( is_page(‘スラッグ名’) ) : ?>
 指定した固定ページで行う処理
<?php endif; ?>

特定の固定ページ(タイトル)

<?php if( is_page(‘タイトル名’) ) : ?>
 指定した固定ページで行う処理
<?php endif; ?>

特定の固定ページが複数ある場合

<?php if( is_page( array(‘ページID’,’スラッグ名’,’タイトル名’) ) ) : ?>
 指定した固定ページで行う処理
<?php endif; ?>

記事ページもしくは固定ページもしくは添付ファイルページ

<?php if( is_singular() ) : ?>
 記事ページもしくは固定ページで行う処理
<?php endif; ?>

特定のカスタム投稿タイプ

<?php if ( is_singular(‘カスタム投稿名’) ) : ?>
 特定のカスタム投稿タイプで行う処理
<?php endif; ?>

複数のカスタム投稿タイプ

<?php if ( is_singular( array(‘news’,’event’) ) ) : ?>
 特定のカスタム投稿タイプで行う処理
<?php endif; ?>

アーカイブページ

<?php if( is_archive() ) : ?>
 アーカイブページで行う処理
<?php endif; ?>

アーカイブページの1ページ目だけ

<?php if( is_archive() && !is_paged() ) : ?>
 アーカイブページの1ページ目で行う処理
<?php endif; ?>

カテゴリーページ

<?php if( is_category() ) : ?>
 カテゴリーページで行う処理
<?php endif; ?>

カテゴリーページの1ページ目だけ

<?php if( is_category() && !is_paged() ) : ?>
 カテゴリーページの1ページ目で行う処理
<?php endif; ?>

特定のカテゴリーページ(ID)

<?php if( is_category(‘カテゴリーID’) ) : ?>
 指定したカテゴリーページで行う処理
<?php endif; ?>

特定のカテゴリーページ(スラッグ)

<?php if( is_category(‘スラッグ名’) ) : ?>
 指定したカテゴリーページで行う処理
<?php endif; ?>

特定のカテゴリーページ(カテゴリー)

<?php if( is_category(‘カテゴリー名’) ) : ?>
 指定したカテゴリーページで行う処理
<?php endif; ?>

特定のカテゴリーページが複数ある場合

<?php if( is_category( array(‘ID’,’スラッグ名’,’カテゴリー名’) ) ) : ?>
 指定したカテゴリーページで行う処理
<?php endif; ?>

特定のカテゴリーに属する記事ページ

<?php if( in_category(‘カテゴリーID’) ) : ?>
 指定したカテゴリーに属する記事で行う処理
<?php endif; ?>

特定のカテゴリーに属する記事を複数指定する場合

<?php if ( in_category( array(‘ID’,’スラッグ名’,’カテゴリー名’) ) ) : ?>
 指定したカテゴリーに属する記事で行う処理
<?php endif; ?>

タグページ

<?php if( is_tag() ) : ?>
 タグページで行う処理
<?php endif; ?>

特定のタグページ(ID)

<?php if( is_tag(‘タグID’) ) : ?>
 指定したタグページで行う処理
<?php endif; ?>

特定のタグページ(スラッグ)

<?php if( is_tag(‘スラッグ名’) ) : ?>
 指定したタグページで行う処理
<?php endif; ?>

特定のタグページ(タグ)

<?php if( is_tag(‘タグ名’) ) : ?>
 指定したタグページで行う処理
<?php endif; ?>

複数のタグページ

<?php if ( is_tag( array(ID,’スラッグ名’,’タグ名’) ) ) : ?>
 特定のタグページで行う処理
<?php endif; ?>

日付ページ

<?php if( is_date() ) : ?>
 日付ページで行う処理
<?php endif; ?>

年別ページ

<?php if( is_year() ) : ?>
 年別ページで行う処理
<?php endif; ?>

月別ページ

<?php if( is_month() ) : ?>
 月別ページで行う処理
<?php endif; ?>

日付ページ

<?php if( is_day() ) : ?>
 日別ページで行う処理
<?php endif; ?>

作成者ページ

<?php if( is_author() ) : ?>
 作成者別記事一覧ページで行う処理
<?php endif; ?>

特定の作成者ページ(ID)

<?php if ( is_author(ID) ) : ?>
 特定の作成者ページで行う処理
<?php endif; ?>

特定の作成者ページ(ユーザー)

<?php if ( is_author(‘ユーザー名’) ) : ?>
 特定の作成者ページで行う処理
<?php endif; ?>

複数の作成者ページ

<?php if ( is_author( array(ID,’ユーザー名’) ) ) : ?>
 特定の作成者ページで行う処理
<?php endif; ?>

2ページ目以降

<?php if ( is_paged() ) : ?>
 2ページ目以降のページで行う処理
<?php endif; ?>

カスタム投稿タイプのアーカイブページ

<?php if ( is_post_type_archive() ) : ?>
 カスタム投稿タイプの一覧ページで行う処理
<?php endif; ?>

特定のカスタム投稿タイプのアーカイブページ

<?php if ( is_post_type_archive(‘カスタム投稿タイプ’) ) : ?>
 特定のカスタム投稿タイプ」のアーカイブページで行う処理
<?php endif; ?>

複数のカスタム投稿タイプのアーカイブページ

<?php if ( is_post_type_archive( array(‘カスタム投稿タイプ’,’カスタム投稿タイプ’) ) ) : ?>
 特定のカスタム投稿タイプ」のアーカイブページで行う処理
<?php endif; ?>

カスタム分類ページ

<?php if ( is_tax() ) : ?>
 カスタム分類の一覧ページで行う処理
<?php endif; ?>

特定のカスタム分類のアーカイブページ

<?php if ( is_tax(‘カスタム分類’) ) : ?>
 特定のカスタム分類アーカイブページで行う処理
<?php endif; ?>

複数のカスタム分類のアーカイブページ

<?php if ( is_tax( array(‘カスタム分類’,’カスタム分類’) ) ) : ?>
 特定のカスタム分類アーカイブページで行う処理
<?php endif; ?>

検索ページ

<?php if ( is_search() ) : ?>
 検索ページで行う処理
<?php endif; ?>

404ページ

<?php if ( is_404() ) : ?>
 404ページで行う処理
<?php endif; ?>

モバイル

<?php if ( wp_is_mobile() ) : ?>
 スマホ・タブレットで行う処理
<?php endif; ?>

Leave a Comment