ダッシュボードウィジェットの作成・追加方法

あまり使わないかもしれませんが、ダッシュボードウィジェットはテーマやプラグインの基本的な案内など、簡単にまとめた情報を表示するのに非常に便利ですので、ダッシュボードウィジェットの作成方法を紹介しています。
恐らく思っている以上に簡単に作成することが出来ますので、初心者でも挑戦してみてください。
基本的なウィジェットの追加
必要な関数は2つのみです。
1つはWordpress関数「wp_add_dashboard_widget」を呼び出す関数、もう1つはこの「wp_add_dashboard_widget」で呼び出すコールバック関数です。
実は「add_meta_box」でも作成できるそうですが、僕は関数名に「dashboard_widget」が入っているので、こちらを使っておくほうが整理しやすいから好きなんですが、「add_meta_box」で作成したい場合はWordpressの参照ページをご参照ください。
1.「wp_add_dashboard_widget」を呼び出す
こちらは非常にシンプルです。
add_action( 'wp_dashboard_setup', 'add_dashboard_widgets' ); function add_dashboard_widgets() { wp_add_dashboard_widget( 'dashboard_widget_example', // id 'ダッシュボードウィジェット タイトル', // タイトル 'dashboard_widget', // コールバック関数 'dashboard_widget_handle', // 設定を付ける場合に使うハンドル関数(使用するとウィジェットの右上に小さく「設定」というテキストが表示されます) array() // 3つ目のコールバック関数にパラメーターとして渡される配列 ); }
WordPress関数を1つ呼び出しているだけの関数ですので、フック名を間違えなければ大丈夫でしょう。「wp_dashboard_setup」ですので、間違えないように。
あと、この関数では3つ目までが必須のパラメーターで、4つ目のハンドル関数以降はオプショナルです。上の例では5つ目は使用していませんが、3つ目のコールバック関数に使用するパラメーターに使用される配列を設定できます。
2.コールバック関数の作成
こちらはダッシュボードウィジェットで出力する関数を書きます。
// 「フォーラムへの案内」 function dashboard_widget() { ?> <h4>テーマ「Optimizer」の案内</h4> <p>テーマ「Optimizer」用の解説ページは<a rel="nofollow" target="_blank" href="http://wp-googlist.com/how-to-set-up-optimizer/">こちら</a></p> <p>「質問」「不具合報告」「改善点」「機能追加要望」などは<br> 配布サイト<a rel="nofollow" target="_blank" href="http://wp-googlist.com/">Wordpressテーマ「Googlist」</a>の<a rel="nofollow" target="_blank" href="http://wp-googlist.com/forums/">フォーラム</a>まで。</p> <?php }
まぁ何の変哲もないHTMLを出力するだけの関数です。
これでダッシュボードウィジェットの作成方法は完了です。
3.設定用のコールバック関数の作成(オプショナル)
追加したダッシュボードウィジェットに設定を追加する方法は、通常のオプションと同じように「update_option」と「get_option」を使います。
// 設定用の関数 function dashboard_widget_handle() { $data = get_option( 'some_setting', '初期値' ); if( $_POST[ 'some_setting_text' ] ) { update_option( 'some_setting', $_POST[ 'some_setting_text' ] ); ; } echo '<input name="some_setting_text" type="text" value="' . $data . '">'; }
めちゃくちゃ雑な書き方をしていますが、雰囲気だけ分かってもらえたら良いと思います。
あとは、こちらで追加した設定が適用されるように、「2」で作成する関数内で「get_option」を使用し、データを取得すればOKです。