WordPressの条件分岐タグいろいろ

条件分岐タグを使用すると、”〜の場合に処理を行う”という条件を付けて処理を行う事ができます。使用例と使う頻度が高そうなタグを書き出してみました。

(※追記:カスタム投稿タイプとタクソノミー関連は下の方にまとめ直しました。)

使用例

■個別投稿ページにのみ()の部分を表示する

<?php if( is_single( ) ): ?>
(ここの部分が表示)
<?php endif; ?>

■トップページ以外のページに()の部分を表示する

<?php if( !(is_home( )) ): ?>
(ここの部分をトップページ以外に表示)
<?php endif; ?>

使う時の注意点

条件分岐の前にquery_postで情報を取得している場合、条件分岐が機能しない為、下記のようにwp_reset_query();を条件分岐の前に記入してquery_postの処理をリセットします。

<?php
wp_reset_query();
if ( is_page( '2' ) ) {
    echo 'This is page 2!';
} 
?>

使いそうな分岐タグ

is_home()

メインブログページが表示されている場合。

is_front_page()

表示設定の「トップページの表示」として 設定されているページが表示されている場合。

is_single()

個別投稿ページが表示されている場合。
ID、記事タイトル名、投稿スラッグを指定できる。
下記のように配列で条件を複数指定できる。
is_single(array(17,’beef-stew’,’Irish Stew’))

is_page()

固定ページが表示されている場合。
ID、記事タイトル名、スラッグを指定できる。
下記のように配列で条件を複数指定できる。
is_page(array(42,’about-me’,’About Me And Joe’))

is_category()

カテゴリーのアーカイブページが表示されている場合
ID、カテゴリー名、スラッグを指定できる。
下記のように配列で条件を複数指定できる。
is_category(array(9,’blue-cheese’,’Stinky Cheeses’))

is_tag()

タグのアーカイブページが表示されている場合
スラッグを指定できる。
下記のように配列で条件を複数指定できる。
has_tag(array(‘sharp’,’mild’,’extreme’))

is_author()

作成者のアーカイブページが表示されている場合。
ID、ニックネーム、「ナイスネーム」を指定できる。
下記のように配列で条件を複数指定できる。
is_author(array(4,’john-jones’,’Vivian’))

is_date()

月別、年別、日別、時間別アーカイブページのいずれかが表示されている場合。
細かく設定↓
is_year() 年別のアーカイブページ、is_month() 月別のアーカイブページ、
is_day() 日別のアーカイブページ、is_time()、毎時別、毎分別、毎秒別のアーカイブページ

is_archive()

カテゴリー、タグ、作成者、日付別の各アーカイブページが表示されてる場合。

is_search()

検索結果のページが表示されている

is_404()

“HTTP 404: Not Found”エラーページが表示されている場合。

is_paged()

表示ページが2ページ目以降の場合。

参照:条件分岐タグ
   Conditional Tags

カスタム投稿タイプやタクソノミー関連の条件分岐タグ

is_post_type_archive(‘投稿タイプ名’)

パラメータに指定した投稿タイプのアーカイブページの場合。

is_tax(‘タクソノミー名’)

パラメータに指定したタクソノミーページのアーカイブページの場合。

スラッグを指定し、下記のように配列で条件を複数指定できる。
is_tax(array(‘sharp’,’mild’,’extreme’))
※’sharp’ または ‘mild’ または ‘extreme’ というスラッグのついたタクソノミーのアーカイブページが表示されている場合。

get_post_type() == ‘投稿タイプ名’

現在表示している記事が指定の投稿タイプだった場合。

bookという投稿タイプだった場合は以下の様な書き方
if( get_post_type() == ‘book’ ) …
Tests to see if the current post is of type ‘book’

使用例

<?php if( 'book' == get_post_type() || is_tax('book_cat') || is_post_type_archive('book') ): ?>
  book という投稿タイプページ・book_cat というタクソノミーアーカイブページ・book のアーカイブページが表示されている場合に表示する処理〜
<?php endif; ?>

Related Article

1 Comments & Tracbacks

Leave a Comment

Emailは公開されません。*は必須項目です。


*


Categorys

Tags

CSS3 ダッシュボード ヘッダー トラブル コードサンプル コンテンツ スライドショー jQueryプラグイン php 引っ越し 素材 お知らせ JavaScript Facebook CSS カテゴリー 投稿タイプ IE HTML5 Shareボタン seo レスポンシブ Photoshop タクソノミー ナビゲーション カスタムメニュー Git Macアプリ サイドバー WPセキュリティ SVG iTunes PHPリファレンス API WP使い方 query_posts データベース get_posts() 条件分岐 コメント function RSS スマートフォン Sass/Compass さくらVPS