[WP-Plugins]Extra Widget Properties Set
2009.09.06
[ English ][ Japanese ]
This plugin set is add extra properties to each widget.
This plugin set bundles “Extra Widget Properties / Core”.
1. Widget Slug
This plugin add widget slug to each widget.
eg. when the widget slug is set with “test”, “widget_slug_test” is added to html class name in the widget.
2. Permission controll by roles
This plugin add permission control by roles to each widget.
Installation
- Download extra-widget-properties-set_1.2.0.zip
- Unpack/upload "extra-widget-properties-set" into "wp-content/plugins/".
- Activate "Extra Widget Properties / Widget Slug with Core" or "Extra Widget Properties / Permission controll by roles with Core" or both from the Admin interface; "Plugins".
Using
- 1. Widget Slug
- Set widget slug in each widget from the Admin interface; "Widgets".
- You can use class name "widget-slug-xxxx" in stylesheet, etc.
- 2. Permission controll by roles
- Choose roles to allow in each widget from the Admin interface; "Widgets".
- The widget without the permission is not displayed.
Frequently Asked Questions
- What is "Extra Widget Properties"?
- Do not you feel that an attribute value is not enough in standard widgets?
"Extra Widget Properties" adds the attribute value that you hope for to each widget.
eg. "Widget slug" and "Permission controll by roles", etc - What is "Widget slug"?
- "Widget slug" is a name to add to each widget.
"Widget slug" is suffix of html class name. When the widget slug is set with "test", "widget_slug_test" is added to html class name in the widget.
When you decorated specific widget with stylesheet, "Widget slug" is useful. - What is "Permission controll by roles"?
- "Permission controll by roles" add permission control by roles to each widget.
When you want to apply specific widget to only guests or specific role, A is useful. - Can we add properties?
- Yes, you can add properties.
History
- ver. 1.0
- 2008. 7.20
- first version.
- ver. 1.1
- 2008. 7.23
- Bugfix: The malfunction of the property save.
- separate slug with comma.
- ver. 1.2
- 2009.09.02
- Bugfix: This version is compatible with wp-2.8.
Problem
This plugin set needs “Extra Widget Properties / Core”.
But, without worry, this set bundles it.
ここから日本語
このプラグイン セットは、以下のような各ウィジェットに拡張プロパティを追加します。
またこのプラグイン セットは”Extra Widget Properties / Core”をバンドルしています。
1. Widget Slug
このプラグインは各ウィジェットに別名(widget slug)を追加します。
例) widget slugに「test」と設定すると、そのウィジェットのhtml クラス名に「wodget_slug_test」と追加されます。
2. Permission controll by roles
このプラグインは各ウィジェットにユーザロールによる利用制限を付けます。
インストール
- extra-widget-properties-set_1.2.0.zipをダウンロードします。
- 解凍した「extra-widget-properties-set」を 「wp-content/plugins/」に入れます。
- 管理画面の「プラグイン」にて、「Extra Widget Properties / Widget Slug with Core」または「Extra Widget Properties / Permission controll by roles with Core」あるいは両方を有効にします。
使い方
- 1. Widget Slug
- 管理画面の「ウィジェット」にて、各ウィジェットにwidget slugを追加します。
- すると、あなたはスタイルシートなどでクラス名「widget-slug-xxxx」を利用することができます。
- 2. Permission controll by roles
- 管理画面の「ウィジェット」にて、各ウィジェットに許可するユーザロールを選択します。
- すると、許可されていないウィジェットは表示されなくなります。
よくある質問
- "Extra Widget Properties"ってなあに?
- 標準ウィジェットを使っていて、あなたは設定値が足りないと感じたことはありませんか?
"Extra Widget Properties"は各ウィジェットに必要な設定値を追加します。
たとえば "Widget slug" や"Permission controll by roles"等 - "Widget slug"って何?
- "Widget slug"は各ウィジェットに名前を追加します。
それはHTMLクラス名のおしりにつきます。 "test"と設定すると, 対象となるウィジェットのクラス名は"widget_slug_test"となります。
あなたがスタイルシートなどで特定のウィジェットを装飾したいと考えているならば、このプラグインは有効です。 - "Permission controll by roles"って何?
- "Permission controll by roles"は各ウィジェットでロールによる利用制限をすることができるようにします。
たとえば、あなたがゲスト(ログイン前ユーザ)だけに、あるウィジェットを表示したいとき等に有効です。 - プロパティは追加できる?
- 追加できますよ。
履歴
- ver. 1.0
- 2008. 7.20
- 初期バージョン
- ver. 1.1
- 2008. 7.23
- バグフィックス:プロパティの保存等の不具合
- 複数スラグをコンマ区切りで登録できるようにした。
- ver. 1.2
- 2009.09.02
- バグフィックス:WP-2.8に対応
- 日本語メッセージを追加しました。
メモ
このプラグインセットは「Extra Widget Properties / Core」を必要とします。
しかし、ご心配なく。このセットはそれをバンドルしてます。
製作後記
『作った理由』
とある依頼でデザイン上、各ウィジェットに背景を付ける必要がありました。
しかし、Wordpress 2.5以上の標準ウィジェットでは、同じウィジェットの種類であるか、またはidでしかスタイルシートを設定できません。
ウィジェットの種類でスタイルシートを設定することは大まか過ぎます。
またidは、ウィジェットの種類名または番号となっています。
ウィジェットの番号はいったん配置して、結果のhtmlのソースを見ない限りわかりません。
これでは、ウィジェットを付けるたびにスタイルシートを書き直さなければならない
そこで、ウィジェット毎に名前を付けられれば、それぞれのウィジェット毎に背景を替えることができます。
そんなことができるプラグインはないかなぁ…と探してみたのですが…このような地味なプラグインって案外ないですね。
また原稿の「Plugin Directory」は探しにくく、その存在そのものを確認することさえもままなりませんでした。
※このときお助けいただいた bonops さんに感謝いたします。
しょうがない、これは作るしかない。
ところが…適当なアクションフックもフィルタフックもない…
しかも、標準で用意されているウィジェットさえもその作りがバラバラ。
(確かに一定のルールはあるものの、各ウィジェットのプロパティ設定は各ウィジェット任せ)
そこで、新たにフィルタフックを追加することにしました。
最初、「widget slug」だけを作るつもりでしたが、「そういえば、ゲストとログインユーザでウィジェットの見せ方を変えなければいけないなぁ」と言うことで「Permission controll by roles」を追加。
すると、同じような動作を設定する必要があり、一連の動作やフィルタフックをまとめる必要が出てきました。
そこでまとめたのが「Extra Widget Properties / Core」です。
しかし、ウィジェットはやっぱり癖がありますね。
標準ウィジェットと「Executable PHP widget」は、ちゃんと動きます。(たぶん)
もし、何か不具合な点がありましたらコメントを入れてください。
『例とダウンロードについて』
本家の「Plugin Direcory」に登録完了しました。
それに伴い、例とダウンロードを掲載しましたが、当初「blv-extra-widget-properties.1.1.0.zip」で公開していましたが、諸事情により「extra-widget-properties-set.1.1.0.zip」に変更になりました。
また、解凍後のフォルダも「extra-widget-properties-set」に変更になります。
申し訳ありません。既にダウンロードされた方は変更をお願いいたします。
『ver. 1.0のバグ』
ver.1.0は新規で追加属性が設定できないバグがあることがわかっています。
その理由を突き止めるのに3日以上かかっています。
原因は何か…やはり標準ウィジェットの構造そのものにありました。
実は標準ウィジェットに標準で用意されている’dynamic_sidebar_params’を利用しているのですが、これが管理画面のひな形ウィジェットには適用されていません。
そのため、管理画面でウィジェットを追加してもダメなのです。
そこで、ver.1.1ではもっとトリッキーな方法を用いるしかありませんでした。
その方法とは、ウィジェットのコールバックを書き換えてしまう方法です。
トリッキーではあるのですが、よくよくソースを眺めるとコールバックを書き換えているところがちらほら
それしか方法はないのかなぁ
それと、何で標準で用意されているウィジェットはそれぞれの動きが違うのだろう。ちょっとむかつきます。
『ウィジェット内のliタグについて』
現行のWordpress( ver.2.5.x, 2.6)でウィジェット プラグインを作る上で気を付けなければいけないことがあります。
それはウィジェット内で’li’タグは使用してはならないと言うことです。
理由は管理画面にて「ひな形ウィジェット」から「現在のウィジェット」に追加する際、javascriptでひな形をコピーしているのですが、どうもそのコピー元がおおざっぱなようです。
(調べたところ、’ul.widget-control-info li’)
これってどうやら「クラス’widget-control-info’の’ul’タグ 直下の’li’タグ」ではなく、「クラス’widget-control-info’の’ul’タグ 以下の’li’タグ」をコピー対象としているみたいです。
するとウィジェット プラグイン内で’li’タグを用いると、そのウィジェットを呼んだとき、ひな形とその中のリストを別々にコピーしてしまうみたいです。
「Permission controll by roles」は当初、’ul’タグと’li’タグによるリストを用いましたが、変にバグるためver1.1では’dl’-'dd’のリストに変更しました。



