「Widget Logic」で特定のカテゴリーだけウィジェットを表示させる方法

Widget Logicというプラグインについて

Widget LogicはWordPressのプラグインであり、ウィジェットを表示させる条件を指定することができる。

この機能を有するプラグインでは非常に有名であり、利用者も使い方の情報も豊富という特徴がある。

ただし条件の指定方法がやや分かりにくいため使い方の解説が必須だ。

この記事では特定のカテゴリーでのみウィジェットを表示させることを目的としている。

Widget Logicの持つ豊富な機能を十分に活用するためには偏った内容であり不向きな記事であることはご容赦いただきたい。

Widget Logicでカテゴリーを指定する方法

カテゴリーIDの調べ方

WordPressでカテゴリーのIDを調べるためには、まず「ダッシュボード」の「投稿」から「カテゴリー」を選択する。

そこで表示されるカテゴリー名のリンクにカーソルを乗せればブラウザの下部にリンク先が表示される。

その中にある「tag_ID=3」の数字の部分がカテゴリーのIDだ。

Widget Logic カテゴリーIDの調べ方

スクリーンショットでは3になっているので、各自の環境に合わせて任意の数字にすること。

この方法はWidget Logicに関係なく使う場面があるので、覚えておいて損はない。

カテゴリーIDの指定方法

カテゴリーIDを指定する場所

先程調べたカテゴリーIDを実際に指定する方法だ。

Widget Logicのプラグインを有効化することは忘れないこと。

「ダッシュボード」の「概観」から「ウィジェット」の設定画面を表示させる。

各ウィジェットを表示させると「Widget logic: 」という項目が追加されていることが確認できる。

ここに表示条件を記入することになる。

カテゴリーIDの記載方法

まずは具体例と参考用のスクリーンショットを挙げる。

Widget Logic カテゴリーIDの指定

先程調べたカテゴリーID3のみを表示条件にするなら次のように記載する。

in_category('3')

もし複数のカテゴリーを表示させたいならカンマで区切る。

in_category('3,5')

カテゴリーのスラッグを利用する方法

先程はカテゴリーIDを利用したが、カテゴリーのスラッグを利用する方法もある。

記載場所は先程と同じだ。

当環境ではカテゴリーID3のスラッグが「wordpress-plug-in」になっているので次のように記載する。

in_category('wordpress-plug-in')

このように自分で指定したスラッグを利用できるため、何のカテゴリーなのか把握しやすいメリットもある。

シンプルにIDを使うのもいいがスラッグの利用もいいだろう。

モバイルという条件を加える方法

Widget Logicにはモバイルかどうかという条件分岐する機能もある。

場合によってはモバイルのみ特定のカテゴリーを表示させたいこともあるだろう。

そのような場合には次のように記載することで対応可能だ。

wp_is_mobile() && in_category('3')

なおタブレットはモバイルと判定される。

デスクトップPCという条件を加える方法

デスクトップPCかどうか条件分岐させるためには先程利用したwp_is_mobile()を応用する。

具体的には次のように先頭に!を加えることになる。

!wp_is_mobile()

これは条件の否定であり、「モバイルではない」という条件分岐になる。

つまりデスクトップPCかどうかという判断に使える。

カテゴリー指定の注意点

記事一覧ページを対象とするか

in_category()だけではカテゴリーの記事一覧ページまで対象となる。

投稿にのみ表示させたい場合はis_single()と組み合わせて使う。

目的に応じて使い分けること。

例を挙げておこう。

is_single() && in_category('3')

モバイルという条件も加えると次のようになる。

wp_is_mobile() && is_single() && in_category('3')

in_category()とis_category()の違い

in_category()に類似する関数でis_category()があるが、これはカテゴリーの記事一覧ページが対象であり、投稿は当てはまらない。

似ているので間違わないよう注意すること。

Widget Logicと類似するプラグイン

Widget Logicに類似する機能のプラグインにWidget Display filterがあり実際に利用しているが、何の影響なのかは不明だが一部機能に不具合があるようだ。

今回の目的であるカテゴリーという条件で表示を分岐される機能が使えないため別のプラグインを探すことになった。

もし将来的にバージョンアップで不具合が解消されたとすると、使いやすさで優れるWidget Display filterの利用も検討したい。

Widget Logicも慣れれば高機能で狙った用途を実現しやすいが、初心者にはハードルが高くなってしまっている。

まずは正常に動作するかが重要なのだが。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です