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;
?>

参考)関数リファレンス/is tax

ページ制御系

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 デザイナーの私的メモ帳

設計編

基本

投稿関連

固定ページ関連

カテゴリー関連

タクソノミー、ターム関連

テンプレート作成

Advance Custom Fieldの使い方

プラグイン

その他

MW WP Form

事例

  • このエントリーをはてなブックマークに追加

プロフィール

kura

個人開発歴5年以上。サイト開発・運営。 ペアでエンジニアとアプリ開発しています。

このサイトではWEBデザイン初心者向けになるべく分かりやすいように解説したり、WEBデザインの便利ツール紹介、開発したりしています。

note