WordPress 条件分岐一覧 投稿/固定/カテゴリ/カスタム投稿 /年月日
「トップページだけに表示したい」「記事ページだけに表示したい」といった時などに使うWordpressの条件分岐コードをまとめました。
トップページ
is_home()
とis_front_page()
を使用します。
<?php
if ( is_home() || is_front_page() ) :
//ここに処理内容を記述
endif;
?>
記事ページ
is_single()
を使用します。
記事ページすべて
<?php
if ( is_single() ) :
//ここに処理内容を記述
endif;
?>
(例)投稿ID「5」の記事の場合
<?php
if( is_single('5') ) :
//ここに処理内容を記述
endif;
?>
(例)投稿スラッグ「privacy」の記事の場合
<?php
if( is_single('privacy') ) :
//ここに処理内容を記述
endif;
?>
デフォルトの投稿の場合
<?php
//is_single('post')が効かないため下記記述
if ( is_single() && 'post' === get_post_type() ) :
//ここに処理内容を記述
endif;
?>
(例)複数指定
<?php
// 投稿スラッグ「about」または、「company」の記事の場合
if( is_single( array('about', 'company') ) ) :
//ここに処理内容を記述
endif;
// 投稿ID「3」または、「5」の記事の場合
if( is_single( array(3, 5) ) ) :
//ここに処理内容を記述
endif;
?>
固定ページ
is_page()
を使用します。
固定ページすべて
<?php
if ( is_page() ) :
//ここに処理内容を記述
endif;
?>
(例)固定ページID「5」の場合
<?php
if( is_page('5') ) :
//ここに処理内容を記述
endif;
?>
(例)固定ページスラッグ「privacy」の場合
<?php
if( is_page('privacy') ) :
//ここに処理内容を記述
endif;
?>
親ページ
(例)親ページスラッグ「about」の場合
<?php
$parent_slug = get_page_uri($post->post_parent);
if( $parent_slug == 'about' ){
//ここに処理を記述
}
?>
カテゴリアーカイブ
is_category()
を使用します。
(例)全てのカテゴリアーカイブ
<?php
if( is_category() ):
//ここに処理内容を記述
endif;
?>
(例)カテゴリーIDが「6」の場合
<?php
if( is_category(6) ):
//ここに処理内容を記述
endif;
(例)カテゴリー名が「トピックス」の場合
<?php
if( is_category('トピックス') ):
//ここに処理内容を記述
endif;
(例)カテゴリースラッグが「topics」の場合
<?php
if( is_category('topics') ):
//ここに処理内容を記述
endif;
(例)カテゴリーIDが「6」または、カテゴリースラッグが「topics」の場合
<?php
if( is_category( array(6, 'topics') ) ):
//ここに処理内容を記述
endif;
カスタム投稿タイプ
カスタム投稿の記事ページ
<?php
if ( is_singular('post_type') ):
//ここに処理内容を記述
endif;
?>
(例)カスタム投稿タイプが「news」の場合
<?php
if ( is_singular('news') ):
//ここに処理内容を記述
endif;
?>
カスタム投稿のアーカイブページ
<?php
if ( is_post_type_archive('post_type') ):
//ここに処理内容を記述
endif;
?>
(例)カスタム投稿タイプが「news」の場合
<?php
if ( is_post_type_archive('news') ):
//ここに処理内容を記述
endif;
?>
記事ページ、アーカイブページ共通
<?php
if ((is_singular('post_type')):
//ここに処理内容を記述
endif;
?>
(例)カスタム投稿タイプが「news」の場合
<?php
if (is_singular('news')):
//ここに処理内容を記述
endif;
?>
カスタムタクソノミー
is_tax()
を使用します。
第一引数にtaxonomy
を指定。
第二引数にterm
を指定できます。
どちらも省略可能。
使用例
(例)全てのカスタムタクソノミー
<?php
if ( is_tax() ):
//ここに処理内容を記述
endif;
?>
(例)カスタムタクソノミー「voice」の場合
<?php
if ( is_tax('voice') ):
//ここに処理内容を記述
endif;
?>
(例)カスタムタクソノミー「case」または、「voice」の場合
<?php
if ( is_tax( array('case', 'voice') ) ):
//ここに処理内容を記述
endif;
?>
(例)カスタムタクソノミー「case」かつ、タームが「term1」の場合
<?php
if ( is_tax( 'case', 'term1' ) ):
//ここに処理内容を記述
endif;
?>
年月日
年別
<?php
if( is_year() ):
//ここに処理内容を記述
endif;
?>
月別
<?php
if( is_month() ):
//ここに処理内容を記述
endif;
?>
日別
<?php
if( is_day() ):
//ここに処理内容を記述
endif;
?>
ページ制御系
1ページ目のみに表示
<?php
if( $paged <= 1 || $page <= 1 ):
//ここに処理内容を記述
endif;
?>
2ページ目以降に表示
<?php
if( $paged >= 2 || $page >= 2 ):
//ここに処理内容を記述
endif;
?>
スマホのアクセス時のみ
is_mobile()
を使用します。
使用例
(例)スマホのアクセス時のみ表示
<?php
if ( is_mobile() ):
//ここに処理内容を記述
endif;
?>
(例)パソコンのアクセス時のみ表示
<?php
if ( !is_mobile() ):
//ここに処理内容を記述
endif;
?>
デザインを本で学びたい人向けの記事
Wordpress デザイナーの私的メモ帳
設計編
基本
投稿関連
固定ページ関連
カテゴリー関連
タクソノミー、ターム関連
テンプレート作成
- category.php カテゴリー専用テンプレートを作る
- archive.php カスタム投稿タイプ専用テンプレートを作る
- taxonomy.php カスタムタクソノミー、タームページを作る
- get_template_part() 外部ファイル・テンプレートを読み込む