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
// 投稿スラッグ「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 (get_post_type() === 'post_type'):
//ここに処理内容を記述
endif;
?>
(例)カスタム投稿タイプが「news」の場合
<?php
if (get_post_type() === '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;
?>
ページ制御系
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;
?>