DigiPress

Highly Flexible WordPress Theme

メニュー

ページの種類ごとで表示するウィジェットを分ける方法

トップページ、カテゴリーページ、記事ページごとで表示したいウィジェットを分けたい場合や、特定の種類のページにはウィジェットを表示させたくない場合があります。

そのような場合は、「Widget Logic」というプラグインを利用してウィジェットの表示対象ページを限定させることができます。

Widget Options というプラグインも同様にウィジェットの表示を制御できます。

まずはプラグインをダウンロードしてインストールするか、WordPressのプラグインの「新規追加」画面から「Widget Logic」と検索して管理画面からインストールしましょう。


Widget Logic によるウィジェットの表示制御方法

プラグインをインストールして有効にすると、各ウィジェットのパネルの一番下に Widget Logic プラグイン用の条件指定テキストボックスが追加されます。

ウィジェットの表示条件の入力

このテキストボックスにWordPressでサポートされている「条件分岐タグ」というタグ(関数)を指定することであらゆる表示条件を指定してウィジェットの表示を制御することができます。

条件分岐タグ指定例

トップページのみに表示する場合
is_home() && !is_paged()

条件分岐タグ基本解説

  • 条件タグの先頭に ! (感嘆符)を付けると否定条件となります。
  • 条件タグ同士を && で繋げると「AND」(すべての条件を満たす)条件となります。
  • 条件タグ同士を || で繋げると「OR」(いずれかの条件を満たす)条件となります。

基本的な表示条件指定例

フロントページのみに表示する場合
is_front_page() && !is_paged()
投稿ページのみに表示する場合
is_single()
固定ページのみに表示する場合
is_page()
複数ページにわたるページ(2ページ目以降)に表示する場合
is_paged()
アーカイブページのみに表示する場合
is_archive()

アーカイブページとは、カテゴリー、タグ、投稿者、日付アーカイブに属する記事の一覧が並ぶページのことです。

カテゴリーページのみに表示する場合
is_category()
タグページのみに表示する場合
is_tag()
日付アーカイブページのみに表示する場合
is_date()
投稿者のアーカイブページのみに表示する場合
is_author()
検索結果ページのみに表示する場合
is_search()
カスタム投稿タイプのアーカイブのみに表示する場合
is_post_type_archive()

カスタム投稿タイプとは、投稿ページや固定ページとは別に、WordPress に独自の属性の投稿タイプを組み込んだものです。

任意のカスタム投稿タイプのみに表示する場合
get_post_type() === 'カスタム投稿タイプのスラッグ'

===” は左右の条件が等しいことを意味しています。

任意のカスタム投稿タイプのみ表示しない場合
get_post_type() !== 'カスタム投稿タイプのスラッグ'

!==” は左右の条件が等しくないことを意味しています。

これらの条件分岐タグについて基本が理解できたら、以下の応用編の条件指定方法を覚えるとさらに細かな条件を指定できます。

条件分岐タグ指定 応用編

さらに条件を絞り込んで、IDを指定することで特定のカテゴリーや任意の固定ページのみ、といった条件も設定することができます。

トップページ以外に表示(トップページだけ非表示)する
!is_home()

先頭に ! を付けると、否定(〜でない)の意味になります。

IDが 11,23, または 120 の投稿ページのみに表示する
is_single( array( 11, 23, 120 ) )
ID確認方法

ID表示に対応したテーマでは、【投稿】→【投稿一覧】を開くと、各投稿のIDを確認できます。

投稿一覧にIDが表示されないテーマの場合は、以下にて確認できます。

または、管理画面からIDを確認できるプラグイン「ShowID for Post/Page/Category/Tag/Comment」をご利用ください。

IDが 11、または投稿スラッグが “hello-my-friend” の投稿ページのみに表示する
is_single( array( 11, 'hello-my-friend' ) )
カテゴリーIDが 10 のカテゴリーページのみに表示する
is_category( 10 )
ID確認方法

ID表示に対応したテーマでは、【投稿】→【カテゴリー】を開くと、各カテゴリーのIDを確認できます。

カテゴリー一覧にIDが表示されないテーマの場合は、以下にて確認できます。

または、管理画面からIDを確認できるプラグイン「ShowID for Post/Page/Category/Tag/Comment」をご利用ください。

カテゴリースラッグが “plugins” のカテゴリーページのみに表示する
is_category( 'plugins' )
カテゴリーIDが 10、またはカテゴリースラッグが “plugins”, “themes”, “blog” のカテゴリーページのみに表示する
is_category( array( 10, 'plugins', 'themes', 'blog' ) )
検索結果ページ または カテゴリーID が “20” のカテゴリーページの場合のみに表示する
is_search() || is_category( 20 )

条件A || 条件B」は、「条件A または 条件B」の意味になります。

カテゴリーページ以外で、かつ投稿スラッグが「sample-post」の記事ページ以外の場合に表示する
!is_category() && !is_single( 'sample-post' )

条件A && 条件B」は、「条件A かつ 条件B」の意味になります。

お知らせ用(スラッグ:news)カスタム投稿タイプのアーカイブとその単体ページの場合だけに表示する
is_post_type_archive( 'news' ) || get_post_type() === 'news'

さらに細かな条件や条件分岐タグについての説明はWordPress Codexを参考にしてください。

PCとモバイルで表示するウィジェットを分ける方法

PC用とモバイル用で表示ウィジェットを分ける方法はこちらを参考にしてください。