1. 首页
  2. WordPress 函数手册

wp_add_dashboard_widget()

wp_add_dashboard_widget( string $widget_id, string $widget_name, callable $callback, callable $control_callback = null, array $callback_args = null )

添加新的仪表板小部件。
Adds a new dashboard widget.

目录锚点:#参数#源码#笔记


参数(Parameters)

参数 类型 说明
$widget_id (string) Widget ID(在Widget的“ID”属性中使用)。
$widget_name (string) 小部件的标题。
$callback (callable) 函数,用所需内容填充小部件。函数应该回显其输出。
$control_callback (callable) 为小部件输出控件的函数。
$callback_args (array) 应该设置为widget数组的$args属性的数据(这是传递给回调的第二个参数)。

源码(Source)

/**
 *
 * @global array   $wp_dashboard_control_callbacks
 *
 * @param string   $widget_id
 * @param string   $widget_name
 * @param callback $callback
 * @param callback $control_callback
 * @param array    $callback_args
 */
function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null, $callback_args = null ) {
	$screen = get_current_screen();
	global $wp_dashboard_control_callbacks;

	if ( $control_callback && current_user_can( 'edit_dashboard' ) && is_callable( $control_callback ) ) {
		$wp_dashboard_control_callbacks[$widget_id] = $control_callback;
		if ( isset( $_GET['edit'] ) && $widget_id == $_GET['edit'] ) {
			list($url) = explode( '#', add_query_arg( 'edit', false ), 2 );
			$widget_name .= ' ' . __( 'Cancel' ) . '';
			$callback = '_wp_dashboard_control_callback';
		} else {
			list($url) = explode( '#', add_query_arg( 'edit', $widget_id ), 2 );
			$widget_name .= ' ' . __( 'Configure' ) . '';
		}
	}

	$side_widgets = array( 'dashboard_quick_press', 'dashboard_primary' );

	$location = 'normal';
	if ( in_array($widget_id, $side_widgets) )
		$location = 'side';

	$priority = 'core';
	if ( 'dashboard_browser_nag' === $widget_id )
		$priority = 'high';

	add_meta_box( $widget_id, $widget_name, $callback, $screen, $location, $priority, $callback_args );
}
更新版本 源码位置 使用 被使用
2.7.0 wp-admin/includes/dashboard.php 14 9

笔记(Notes)

添加仪表板小部件

wp_add_dashboard_widget() 为WP2原创文章,链接:https://www.wp2.cn/functions/wp_add_dashboard_widget/