正規の方法がわからず試してできたという内容です。そのためバッドノウハウかもしれません。
実現したいこと
- WordPressでウィジェットを自作して追加する
- 追加したウィジェットを、管理画面の「外観>ウィジェット」の「利用できるウィジェット」で任意の位置に置きたい
デフォルトでもかなりの数が並んでいるので、自作したウィジェットを目立つところに置くことができれば良いなというのが趣旨です。可能なら任意の位置に配置したいところ。
実現する方法
わかりやすくするために、上記のページよりコードの一部を引用して用います。
class Foo_Widget extends WP_Widget {
/**
* WordPress でウィジェットを登録
*/
function __construct() {
parent::__construct(
'foo_widget', // Base ID
__( 'ウィジェットのタイトル', 'text_domain' ), // Name ←ここ!!
array( 'description' => __( 'サンプルのウィジェット「Foo Widget」です。', 'text_domain' ), ) // Args
);
}
//省略
}
上記で「←ここ!!」と書いているNameに設定する名称が重要になります。具体的には以下の通り。
- Nameに設定した先頭の文字で順番が決まる
- 数字→アルファベット→日本語の順番で並ぶ
- Nameを1_ウィジェットのタイトルのように設定すると最初に設置できる
問題もある手法ですが、入れ込みたい場所に合わせてNameの一文字目を設定すれば、その位置に表示されます。
例えばRSSの下に入れたいときは以下のようにすれば概ね実現できるはずです。
class Foo_Widget extends WP_Widget {
/**
* WordPress でウィジェットを登録
*/
function __construct() {
parent::__construct(
'foo_widget', // Base ID
__( 'z_ウィジェットのタイトル', 'text_domain' ), // Name ←ここ!! 先頭に"z_"を追加
array( 'description' => __( 'サンプルのウィジェット「Foo Widget」です。', 'text_domain' ), ) // Args
);
}
//省略
}
結び
任意の位置に配置するための関数やパラメータ的なものがどこかあるのではと思うのですが、コーデックスでも「ウィジェット 位置」などで調べてもノイズばかりで見つからず。
0人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。