WordPress 的儀表盤 (Dashboard),也就是登陸後臺後第一個看見的頁面,有人說這個介面很累贅,顯示了很多沒人感興趣的資訊,耗費記憶體,例如 WordPress China 部落格新聞 (如果你裝的是中文版) 、其它 WordPress 新聞等 Widget 。沒關係,WordPress 的設計者給我們提供了多種方式來打造自己的個性化 WordPress 儀表盤

概述

1. 透過配置 Widget 選項修改後臺顯示的資訊;

2. 透過程式移除不需要的 Widget,新增自己喜歡的 Widget 。

配置後臺 Widget

就以 「其他 WordPress 新聞 Widget」 為例,這個小工具其實是一個 RSS 閱讀器,透過讀取 http://planet.wordpress.org 的 feed 源向使用者顯示該網站最近更新的文章。說到這,答案很簡單了。不想看這個新聞源,換一個就好。

滑鼠移動到標題欄最右側,會出現一個向下的箭頭,箭頭右側有一個連結按鈕」 配置 「。

點選箭頭可以隱藏或者顯示小工具的內容,點選配置就可以更改小工具的設定。

WordPress儀表盤小工具(Dashboard Widget)圖解

修改 「其它 WORDPRESS 新」WIDGET 的設定

將 RSS 地址更改成自己想訂閱的網站,並輸入新的標題,就可以和 WordPress 新聞說再見了。

配置其它WordPress新聞Widget

例如,我將地址修改為自己網站的 rss 地址:http://www.solagirl.net/feed

標題更改為:Sola 部落格

儲存以後效果如下

在WordPress儀表盤顯示Sola部落格的訂閱

用同樣的方法定製其它 Widget,你的後臺就不在是 WordPress 的天下,而是你自己的空間。

隱藏後臺 Widget

如果想隱藏 Widget,也很簡單,有兩種方法。

方法一:萬能的顯示選項 (Screen Options)

不管在後臺任何地方,如果你注意一下螢幕右上角,90% 的機率你會發現一個東西叫做 「螢幕選項 (ScreeOptions)」 。

顯示選項
點選箭頭開啟顯示選項,在儀表盤介面 (登陸 WordPress 首先看到的介面),你將看到如下圖所示的選項

透過WordPress儀表盤的顯示選項顯示/隱藏Widget

這裡列出當前頁面所有可用的 Widget,無論是否顯示,打上勾的就會顯示出來,不打鉤的就是隱藏的。

隱藏不等於沒有,例如選擇隱藏 WordPress China 部落格,這個 Widget 從螢幕上消失了,如果你檢視原始碼,會發現這個東西還是存在的,只是 css 的 display 屬性設定為 none 。

方法二:用程式隱藏 Widget

正如方法一結尾所說,從螢幕選項中去除只是表面上隱藏了,還是會佔用網速、記憶體。如果想徹底移除,就用程式來做。方法如下:

開啟當前主題的 functions.php,在檔案末尾加上一段程式碼,這段程式碼用移除鉤子的方式去掉 widget

下面是程式碼

function remove_dashboard_widgets() {
    global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);    //快速釋出
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);    //WordPress China 部落格
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);  //其它 WordPress 新聞
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);  //近期草稿
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);//鏈入連結
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);     //概況
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);   //外掛
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);//近期評論
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );

 

每一行 unset() 都是移除一個 Widget,具體是什麼看程式碼後面的註釋,也可以參考下面的圖片說明,每個 Widget 的 ID 在程式碼中的位置如下所示

unset($wp_meta_boxes[『dashboard』][『side』][『core』]['widget ID']);

Widget ID

Widget 的 HTML 結構(透過 Firebug 獲得)

WordPress儀表盤Widget的HTML結構

重排 Widgets

後臺的 Widget 和前臺的一樣,都可以透過拖拽的方式重新排列順序。

新增自定義後臺 Widget

在當前主題的 functions.php 中加入註冊 Widget 的程式碼,主要用到了 wp_add_dashboard_widget 鉤子,程式碼如下:

function example_dashboard_widget_function() {
    // 顯示任何你想顯示的內容
    echo "Hello World, I'm a great Dashboard Widget";
}
// 建立鉤子函式
function example_add_dashboard_widgets() {
    wp_add_dashboard_widget('example_dashboard_widget', 'Example Dashboard Widget', 'example_dashboard_widget_function');
}
// 將鉤子函式掛到 wp_dashboard_setup 鉤子上,註冊新的 Widget
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );

新增幫助資訊

在文章/頁面的新建或編輯頁面新增幫助資訊 (位於結尾)

add_action( 'admin_head-post.php', 'sola0922_add_help' );
add_action( 'admin_head-post-new.php', 'sola0922_add_help' );
function sola0922_add_help()
{
    get_current_screen()->add_help_tab( array(
        'id'        => 'my-help-tab',
        'title'     => __( 'My Title' ),
        'content'   => __( '<h5>Title</h5><p>This tab is below the built in tab.</p>' )
    ) );
}

新增新的幫助選項卡

在文章/頁面的新建或編輯頁面新增幫助資訊 (位於開頭)

add_action('load-page-new.php','add_custom_help_page');
add_action('load-page.php','add_custom_help_page');
function add_custom_help_page() {
   get_current_screen()->add_help_tab( array(
        'id'        => 'my-help-tab',
        'title'     => __( 'My Title' ),
        'content'   => __( '<h5>Title</h5><p>This tab is below the built in tab.</p>' )
    ) );
}

新增幫助資訊