WordPress Plugin : Widget Display Filter

Widget Display filter プラグイン

WordPress でウィジェットの表示を様々な条件で表示管理するプラグインは沢山あります

JetPack のウィジェット表示管理や Widget Logic, Display Widgets 等々..

使ってみると機能が足りなかったり、ちょっと使いにくかったりという部分がありましたので、車輪の再発明ではありますが自分好みのプラグインを作成しました

ポイントは3つ

  1. “利用できるウィジェット” を整理したい
  2. ウィジェット個々だけでなくグループとしても表示条件を管理したい
  3. 条件設定は簡単で分かりやすく行いたい

以上のような機能を実現するために検討したところ各ウィジェットにハッシュタグを付けて管理するのが分かりやすいかなと思いましたので、タグによって条件を設定できるようにしてみました (^^)

 

ダウンロード

公式サイトからダウンロード出来ます

Widget Display Filter
Set the display condition for each widget. Widgets display condition setting can be easily, and very easy-to-use plugin.

 

インストール

ダウンロードした zipファイルを プラグインの新規追加画面 プラグインのアップロード からインストールすることが出来ます

または、プラグインの新規追加画面から widget display filter を検索してインストールすることも出来ます

インストールしてプラグインを有効化すれば使用することが出来ます

動作環境

  • WordPress 4.1 – 4.6 で動作を確認しています
  • PHPバージョン 5.3 以上

使い方

管理画面の外観メニューに Widget Display Filter という項目が追加されるのでそこで設定を行います

設定は、隠しウィジェットウィジェット表示フィルター の2つに分かれています

  1. 隠しウィジェット:登録すると利用できるウィジェットに表示されなくなります
  2. ウィジェット表示フィルター:ハッシュタグに関連付けて、ウィジェット表示条件の設定をします

隠しウィジェット

隠しウィジェットへの登録

使用しないウィジェットを選択して、登録するだけです

利用できるウィジェットの表示が整理され スッキリ します (^^)

利用できるウィジェットの表示例

 

ウィジェット表示フィルター

Widget Display Filter 設定画面

ここでは、ハッシュタグを定義して、それにウィジェットの表示条件設定を関連付けるだけです

  • ハッシュタグ設定
  • デバイスフィルター指定
  • ページタイプフィルター指定
  • 投稿フォーマットタイプフィルター指定
  • ポストID(シングルページ)フィルター設定
  • カテゴリーフィルター設定
  • 投稿タグフィルター設定

Ver1.10 で Widget に任意のクラス名を追加できるように機能を追加しました

 

ハッシュタグ設定

#で始まる任意のハッシュタグコードを定義します

ハッシュタグに使用可能な文字は、半角英数字、ハイフォン(-)、アンダースコア(_)のみです

 

デバイスの設定

表示対象のデバイスをチェックします

チェックしていないデバイスには出力しませんので、ページタイプや投稿フォーマットタイプの指定は、ここでチェックしたデバイスに対するAND条件となります

※デバイスの判定は wp_is_mobile() 関数を使用していますので、iPad 等のタブレットはモバイルデバイスとして扱われます

 

ページタイプ設定

表示対象のページタイプを指定します
チェックしていないページタイプに対しては、表示対象外となります

 

投稿フォーマットタイプ設定

投稿に関しては、フォーマットタイプ毎に対して設定することが出来ます

※投稿フォーマットを使用していない場合は、投稿に関しては 投稿ページ : 標準フォーマット のみ設定すればOKです

 

ポストID

固定ページや投稿、カスタムポストの個別のシングルページに対して、直接ポストIDを指定して、特定のページに対して 含める/除外する の条件が設定できます

ポストIDは、カンマ区切りで複数指定することが出来ます

ウィジェット表示フィルター表示の +マークをクリックして設定します

ポストIDによるフィルター設定

特定のシングルページだけウィジェットを表示させたい場合は、ページタイプ、投稿フォーマット等を指定しないで、表示させたいポストIDを含める設定を行います

また、特定のシングルページだけウィジェットを表示させたくない場合は、ページタイプや投稿フォーマット等を指定して、表示させたくないポストIDのみを除外する設定を行います

設定した条件は、含める場合除外する場合で表示されます (^^)

※ポストIDは、管理画面の固定ページ一覧/投稿記事一覧等で調べたいリスト位置の項目へマウスを持って行くと画面最下部に表示されるデータにIDが含まれています

 

カテゴリー

投稿ページに対して、カテゴリーを指定することで、特定のカテゴリーに対して 含める/除外する の条件が設定出来ます

ウィジェット表示フィルター表示の +マークをクリックして設定します

カテゴリーによるフィルター設定

例えば、投稿記事の特定のカテゴリーの時だけウィジェットを表示させたい場合は、ページタイプ、投稿フォーマット等を指定しないで、表示させたいカテゴリーを含める設定を行います

また、特定のカテゴリーの時だけ表示させたくない場合は、対象となる投稿フォーマットを指定して、そこから表示させないカテゴリーを除外する設定をします

投稿タグ

投稿ページに対して、タグを指定することで、特定のタグに対して 含める/除外する の条件が設定出来ます

ウィジェット表示フィルター表示の +マークをクリックして設定します

投稿タグによるフィルター設定

 

カスタムポストタイプ

表示対象のカスタムポストタイプを指定します
チェックしていないカスタムポストタイプに対しては、表示対象外となります

※カスタムポストタイプは、有効になっている場合のみ設定項目が表示されます

 

Widget へのクラス名追加

Widgetの before widget タグへ任意のクラス名を追加できます

例えば、Text Widget にカスタムCSSクラスを追加すると、テキスト表示はマージンが20px、バックグランドカラーが白。画像表示はマージンが0、バックグランド透過。というような使い分けが可能になります

Widget へのCSS クラス追加

※このプラグインでは、Widgetをラップしている widget before にクラス名を追加するだけですので、そのCSS定義はお使いのテーマの style.css に定義する必要があります

 

設定の保存

表示条件の指定が終了したら、忘れずに 設定の保存 ボタンをクリックして保存して下さい

 

ハッシュタグで表示条件をウィジェットに設定

ここまでは、ハッシュタグとその表示条件の設定だけしか行っていませんので、ウィジェットにこの条件を関連付けする必要があります

方法はとても簡単です (^^)

ウィジェットのタイトル入力欄にハッシュタグを入力するとその条件判定が有効になります

但し、一つのウィジェットに設定できるハッシュタグは一つだけで、ハッシュタグとタイトルは空白で区切る必要があります

ウィジェットへのハッシュタグ設定例

同じハッシュタグを複数のウィジェットに設定すれば、グループとして簡単に表示条件を管理することが出来ます

ウィジェット毎に何回も同じ設定を繰り返す必要はないんです ここおすすめポイントです

もちろん、ハッシュタグは実行時には表示されません (^^)

他の同種のプラグインと較べて良い点悪い点あるかと思いますが、使いやすくていい感じのプラグインになったと思います

 

免責事項

本ソフトウェアを使用した事による、いかなる損害も作者は一切の責任を負いませんので、自己責任の上でご使用下さい

 

履歴

2016-09-05  Ver1.2.0
マルチサイトサポート

2015-10-05  Ver1.1.0
Widget の before widget タグにカスタムCSSクラス名を追加する機能追加

2015-08-07  Ver1.0.0 公式サイトで公開
Celtispack 1.4.1 内の widget load filter モジュールをベースに、操作性改善と機能追加して Widget Display Filter 単独プラグインとしてリリース