WordPress Theme Toolkit@Masayan さんにトラックバックしています。 😀
WordPress Theme Toolkit という便利なライブラリがでています。 管理画面マニアが龍虎乱舞じゃなくて狂喜乱舞しそうな、便利なライブラリです。
WordPress Theme Toolkit
WordPress Theme Toolkit is a PHP class that gives WordPress theme authors the opportunity of creating a persistent admin menu for their theme as easily as editing 3 lines in a file.
管理画面をつくるのってなかなか大変で、HTML でフォーム書いて、POST うけして、解析して、WPのデータベースにシリアライズして書き込んで、、なんてやっていると、結構大変で気持ちが萎えてきます。 🙂
このツールキットはテーマの設定に関する管理画面を簡単に追加できるライブラリです。 テーマ作成者さんのみならず、自分のサイトを設定によって動的にしたい場合にも便利に使えます。
というわけで、簡単なサンプルを紹介します。
このサイトの画面右、サイドバーの一番上に、
主にコンピュータ関連の思いつきや思い出話などを記載している個人のサイトです。
という、テーマの PHP ファイルに直接 HTML で書いている文言があります。 これを管理画面から変更できるようにしてみます。
まずは、ツールキットを有効にするための事前準備をします。
-
-
お使いのテーマの、 header.php (や index.php)の最初などに次のコードを挿入します。
- <?php
- include_once(dirname(__FILE__) . '/functions.php');
- ?>
これで管理画面にそのテーマ用の設定画面が、表示 -> テーマ名 に現れます。
デフォルトでいくつかの設定ができるように、サンプルが設定されています。 これらをコントロールするのが、function. php です。
- themetoolkit(
- 'mytheme',
- array(
- 'setting1' => 'Setting One ## This is setting one.',
- 'setting2' => 'Stuff {textarea|6|50} ## Enter some text',
- 'setting3' => 'Choice {radio|choice1|Choice One|choice2|Choice Two} ## Chose one.',
- 'setting4' => 'Multiple choice {checkbox|mc1|happy|Are you Happy ?|mc2|human|Are you Human ?} ## Chose any',
-
- 'debug' => 'debug', /* this is a fake entry that will activate the "Programmer's Corner"
- ),
- __FILE__
- );
標準のサンプルの上部、themetoolkit で囲まれている部分が管理画面に表示するフォームを定義するところです。 setting 1 ~ 4 までの部分が画面のそれぞれに対応しているので、見比べればすぐ分かると思います。
ここでは、サイドバーの右上をひとつ変更したいだけなので、setting1 だけにして次のようにしています。(コメントは除いています)
- themetoolkit(
- 'mytheme',
- array(
- 'setting1' => 'このブログについて {textarea|6|50} ## テキストを入れてください',
- 'debug' => 'debug',
- ),
- __FILE__ /* Parent. DO NOT MODIFY THIS LINE !
- );
修正後、画面はこんなかんじになります。
「このブログについて」というテキストボックスが追加されました。 この状態でテキストを入力や修正して Store Option ボタンを押下すればすれば勝手に WP に保存してくれます。(なんと簡単な!)
あとは、この保存された値をテーマで取得できればいいわけです。ここでは、setting1 という名前にしましたが、この名称をつかった次の書き方でプログラムからアクセスできます。 直接、テーマの PHP に書いてもいいのですが、せっかくなので function.php に「データを表示する関数」を定義しましょう。関数名は他とかぶらないような名前にして、function.php に次を追加します。
- function hiromasa_zone_about() {
- global $mytheme;
- print "<p>" . $mytheme->option['setting1'] . "</p>";
- }
$mytheme->option[‘名称’] で管理画面で設定されている値を取得できるわけです。
次にテーマの PHP の文言を挿入したい部分で、追加した関数を呼び出します。
- <?php hiromasa_zone_about(); ?>
これでめでたく、データがテーマに挿入されました。 管理画面から値を修正していろいろ遊んでみましょう。 🙂
ここでは簡単なテキストボックスの例でしたが、チェックボックス等もつかえますので、その値で条件分岐をさせてテーマの動作を変更することも出来ます。本家のサンプルでは、設定によりサイドバーの左右を変えたりしていますね。
テーマの作者さんがユーザにソースをいじることなく設定を変える機能を簡単に提供するためのライブラリですが、気分でテーマの内容を変えたくて、でもソースをいじりたくないぞーってなときにも便利使えます。
お試し下さい。
プラグインの管理画面の作成にも使えないかな・・・。 もう少し研究してみます。