wp_dashboard_setup
云策文档标注
概述
wp_dashboard_setup 是一个 WordPress 动作钩子,在核心仪表板小工具注册后触发,主要用于自定义仪表板小工具的添加或移除。
关键要点
- 钩子名称:wp_dashboard_setup,在 wp_dashboard_setup() 函数中定义,位于 wp-admin/includes/dashboard.php。
- 主要用途:提供仪表板相关自定义选项,特别是通过 wp_add_dashboard_widget() 添加小工具或 remove_meta_box() 移除小工具。
- 引入版本:WordPress 2.5.0。
代码示例
// 移除特定仪表板小工具示例
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');
function remove_dashboard_widgets () {
remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' );
remove_meta_box( 'dashboard_recent_drafts', 'dashboard', 'side' );
remove_meta_box( 'dashboard_primary', 'dashboard', 'side' );
remove_meta_box( 'dashboard_secondary', 'dashboard', 'side' );
remove_meta_box( 'dashboard_incoming_links','dashboard', 'normal' );
remove_meta_box( 'dashboard_plugins', 'dashboard', 'normal' );
}// 移除所有仪表板小工具示例
function remove_dashboard_widgets(){
global $wp_meta_boxes;
foreach( $wp_meta_boxes["dashboard"] as $position => $core ){
foreach( $core["core"] as $widget_id => $widget_info ){
remove_meta_box( $widget_id, 'dashboard', $position );
}
}
}
add_action( 'wp_dashboard_setup', 'remove_dashboard_widgets', 1000000 );注意事项
- 移除小工具时,需在钩子函数内调用 remove_meta_box(),并指定小工具 ID、上下文和位置。
- 小工具也可以通过隐藏方式管理,但移除操作更彻底。
- 添加小工具应使用 wp_add_dashboard_widget() 函数。
原文内容
Fires after core widgets for the admin dashboard have been registered.
Source
do_action( 'wp_dashboard_setup' );
Changelog
| Version | Description |
|---|---|
| 2.5.0 | Introduced. |
Skip to note 4 content
Collins Mbaka
To remove a dashboard widget, call remove_meta_box() within the hooked function.
add_action('wp_dashboard_setup', 'remove_dashboard_widgets'); function remove_dashboard_widgets () { //Completely remove various dashboard widgets (remember they can also be HIDDEN from admin) remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); //Quick Press widget remove_meta_box( 'dashboard_recent_drafts', 'dashboard', 'side' ); //Recent Drafts remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); //WordPress.com Blog remove_meta_box( 'dashboard_secondary', 'dashboard', 'side' ); //Other WordPress News remove_meta_box( 'dashboard_incoming_links','dashboard', 'normal' ); //Incoming Links remove_meta_box( 'dashboard_plugins', 'dashboard', 'normal' ); //Plugins }Skip to note 5 content
Andrija Naglic
To remove all Dashboard widgets:
function remove_dashboard_widgets(){ global $wp_meta_boxes; foreach( $wp_meta_boxes["dashboard"] as $position => $core ){ foreach( $core["core"] as $widget_id => $widget_info ){ remove_meta_box( $widget_id, 'dashboard', $position ); } } } add_action( 'wp_dashboard_setup', 'remove_dashboard_widgets', 1000000 );Skip to note 6 content
Akira Tachibana
Example from Codex: To Remove a Dashboard Widget
To remove a dashboard widget, call remove_meta_box() within the hooked function.
add_action('wp_dashboard_setup', 'remove_dashboard_widgets'); function remove_dashboard_widgets () { //Completely remove various dashboard widgets (remember they can also be HIDDEN from admin) remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); //Quick Press widget remove_meta_box( 'dashboard_recent_drafts', 'dashboard', 'side' ); //Recent Drafts remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); //WordPress.com Blog remove_meta_box( 'dashboard_secondary', 'dashboard', 'side' ); //Other WordPress News remove_meta_box( 'dashboard_incoming_links','dashboard', 'normal' ); //Incoming Links remove_meta_box( 'dashboard_plugins', 'dashboard', 'normal' ); //Plugins }