HOME>WEBプログラム覚書>[WordPress]管理画面のカスタマイズ ダッシュボード編

[WordPress]管理画面のカスタマイズ ダッシュボード編

ダッシュボードウィジェット APIの抜粋

フック

WordPressで何かする場合、フックが必要となります。ダッシュボードページは幸せなことに専用のフック「wp_dashboard_setup」があるのでこれにフックする。

PHP

  1. <?php
  2. add_action('wp_dashboard_setup', 'my_dashboard_setup');
  3. ?>

削除

現在 (2.7.0) は、デフォルトのダッシュボードウィジェットを取り除く簡単な関数はありません。取り除くには、一般 $wp_meta_box 配列からアイテムを手動で unset() する必要があります。ウィジェットを追加するのと似た方法で wp_dashboard_setup で行います。

ダッシュボードウィジェット API

とのこと。APIはないので配列を直接unsetする。全て消すにはこんな感じで書いてやればよい。

PHP

  1. <?php
  2. function my_dashboard_setup()
  3. {
  4.     global $wp_meta_boxes;
  5.     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
  6.     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
  7.     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
  8.     unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
  9.     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
  10.     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
  11.     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
  12.     unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
  13. }
  14. ?>

PHP

  1. <?php
  2. function my_dashboard_setup()
  3. {
  4.     global $wp_meta_boxes;
  5.     unset($wp_meta_boxes['dashboard']);
  6. }
  7. ?>

全部消すならが手っ取り早い。

追加

追加用のAPIが提供されているので、それを利用する。

wp_add_dashboard_widget($widget_id, $widget_name, $callback, $control_callback = null)

引数

$widget_id
ウィジェットを一意識別するスラッグ。これは css クラス、ウィジェットの配列のキーに使用します。
$widget_name
ウィジェットのヘッダに表示される名前。
$callback
ウィジェットのコンテンツを表示するように作成した関数の名前。
$control_callback
(オプション) ウィジェットオプションフォームの送信を処理し、フォーム要素を表示する関数の名前。よくわからんね。

PHP

  1. <?php
  2. add_action('wp_dashboard_setup', 'my_dashboard_setup');
  3.  
  4. function my_dashboard_setup()
  5. {
  6.     global $wp_meta_boxes;
  7.     unset($wp_meta_boxes['dashboard']);
  8.     wp_add_dashboard_widget('welcome', 'ようこそ', 'welcome_widget');
  9. }
  10.  
  11. function welcome_widget()
  12. {
  13.     echo 'ウェルかめ・トゥ・ザ・ウエスト・ディビジョン。バディを鍛えてお互いがんばろうぜ!';
  14. }
  15. ?>
実行結果

投稿日 2011年9月12日 08:06
カテゴリ PHP
タグ WordPress
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1238

コメント

コメントする
Name
Email Address
URL