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_search()
日付アーカイブページのみに表示する場合
is_date()
タグページのみに表示する場合
is_tag()
投稿者のアーカイブページのみに表示する場合
is_author()
カスタム投稿タイプのアーカイブのみに表示する場合
is_post_type_archive()
任意のカスタム投稿タイプのみに表示する場合
get_post_type() === 'カスタム投稿タイプのスラッグ'
※”===” は左右の条件が等しいことを意味しています。
任意のカスタム投稿タイプのみ表示しない場合
get_post_type() !== 'カスタム投稿タイプのスラッグ'
※”!==” は左右の条件が等しくないことを意味しています。

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

応用編

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

トップページ以外に表示(トップページだけ非表示)する
!is_home()
※先頭に「!」を付けると、否定(〜でない)の意味になります。
IDが 11,23, または 120 の投稿ページのみに表示する
is_single( array( 11, 23, 120 ) )

Check投稿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 )

Checkカテゴリー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用とモバイル用で表示ウィジェットを分ける方法はこちらを参考にしてください。

詳細はこちら