【WordPress】ウィジェットの表示条件を制御する方法

WordPressブログでこのウィジェットはトップページにだけ表示したい・投稿ページだけに表示したいという場合は少なくありません。

ですが標準では全ページに共通して表示されるようになっているため、細かい表示制御ができない状態です。

そこで、本記事では、テーマやプラグインによって表示の制御を行う方法を紹介します。

このページの内容(目次)

WordPressのウィジェットとは

WordPress のウィジェット機能は画面上のパーツの部分のことです。

ブログではサイドバーに人気記事を表示したり、最近更新された記事を表示するのに使われますね。

ウィジェットの領域数はテーマによる

便利なウィジェットですが、設置可能な領域数は使用するWordPressテーマによって様々です。

WordPressをインストールした直後の標準テーマ(Twenty Twenty-Oneなど)ではフッタのみ設定できるだけですが、標準テーマ以外なら10か所以上設定できるところがあるのが普通です。

テーマ名ウィジェット領域数
SWELL20か所
Affinger 6 Action37か所
Cocoon29か所
THE THOR10か所
DIVER22か所
賢威 811か所
JIN10か所
Snow Monkey14か所
Luxeritas38か所
XeoryBase2か所
LION MEDIA8か所
Lightning12か所
LIQUID LIGHT8か所

設定可能な箇所が多いほど、画面の編集可能箇所が多くなります。

ただし、ウィジェットエリアの中には、特定のデバイス専用・特定のページ専用・AMP専用という箇所も多いので、領域数が多い=画面の柔軟性が高い、ではありません。

WordPress5.8で導入されたウィジェットブロックエディタ―を解除する方法

WordPress5.8で、ウィジェットの設定画面が大幅に変更になりました。

改悪と言われることが多く、「Classic Widgets」プラグインを導入して元の状態に戻す人が続出しています。

現時点ではかなり使いづらいと言わざるを得ないウィジェットブロックエディターですが、今後は各テーマ側での対応が進んでくると利用が増えていくものと思われます。

画面毎に表示するウィジェットを変える方法1:対応しているテーマを使用する

画面毎に表示するウィジェットを変更することができるテーマは以下のものがあります。

THE THOR

THE THORのウィジェット表示条件設定画面

THE THORのウィジェット設定画面はモーダル式で開くようになっており、非常にわかりやすい設定画面です。

Cocoon

Cocoonのウィジェット編集画面

追加したウィジェットでどのように見せるのかを決めることが可能です。

DIVER(サイドバー限定)

DIVERは個別記事でウィジェットを作れる

DIVERはウィジェットの編集画面で表示条件を指定できるわけではありませんが、ユニークな機能として、各個別記事で投稿画面内にある「サイドバーウィジェット」欄に入力した内容がそのままウィジェットとしてサイドバーに表示されるという機能があります。

このページでだけ本文とは別のところでアピールしておきたい、といった場合に使いやすい機能です。

画面毎に表示するウィジェットを変える方法2:プラグインを利用する

WordPressのテーマが対応しているといいのですが、ウィジェットの表示に条件設定ができるテーマは少ないので、プラグインで対応することが多くなるはずです。

ウィジェットの表示条件を設定できるプラグインで有名なのはWidget Logicですが、やや設定方法がプログラマ寄りなので、Widget Optionsの方が視覚的でわかりやすいです。

指定するPHPコードは決まっていて、覚えるだけですが、それでも入力間違いなどがあるとうまく動かないので、初心者の方は Widget Options を使う方が良いでしょう。

Widget Options

Widget Optionsの導入
Widget Optionsをインストールすると、ウィジェットの設定画面に条件を入力する欄が追加されます。
Widget Optionsで設定できるところ
Widget Optionsで設定できるところ
Widget Optionsで表示するかしないかを設定できるところ
  • トップページ
  • 検索結果画面
  • 404ページ
  • 固定ページの個別ページ単位
  • 個々のカテゴリ・タグ単位
  • ログインユーザーかゲストユーザー
  • デバイス
  • 個別の投稿記事(PHPでの指定)

Widget Logic

Widget Logicのインストール
Widget Logic をインストールすると、ウィジェットの設定画面に条件を入力する欄が追加されます。

Widget Logicは、シンプルにウィジェット編集画面で入力欄が一つ追加されるだけです。

この部分にPHPコードを記述して除外・表示を制限していきます。

PHPでの条件指定方法

Widget Optionsも、Widget Logicも、PHPで条件指定をする箇所があります。この部分は共通です。以下のどれかを入れることになるはずです。

まとめて指定する場合

対象表示非表示
トップページis_front_page() !is_front_page()
投稿is_single()!is_single()
固定ページis_page()!is_page()
アーカイブ全部is_archive()!is_archive()
カテゴリーアーカイブis_category()!is_category()
タグアーカイブis_tag()!is_tag()
日付アーカイブis_date()!is_date()
検索結果is_search()!is_search()
スマホwp_is_mobile()!wp_is_mobile()
非表示にするときは、前にビックリマークを付けるだけ

個々のページを指定する場合

対象コード
1ページだけ指定is_single('111')
複数ページを指定is_single(array(111,222))
スラッグで指定is_single('slug-name')
カテゴリをID指定in_category('111')
カテゴリをスラッグで指定has_tag('333')

「または」と「かつ」を

指定コード
またはis_single('111') || is_page( '222' )
かつ is_single('111') && is_page( '222' )

このページの内容(目次)
閉じる