函数文档

wp_ajax_dashboard_widgets()

💡 云策文档标注

概述

wp_ajax_dashboard_widgets() 是一个 WordPress AJAX 处理函数,用于管理仪表盘小部件。它通过 AJAX 请求加载特定小部件,如“WordPress 事件和新闻”。

关键要点

  • 函数位于 wp-admin/includes/ajax-actions.php,通过 AJAX 处理仪表盘小部件请求。
  • 使用 $_GET['widget'] 参数判断要加载的小部件,例如 'dashboard_primary' 对应 wp_dashboard_primary()。
  • 根据 $_GET['pagenow'] 设置当前屏幕,支持 'dashboard'、'dashboard-user' 和 'dashboard-network'。
  • 调用 wp_die() 结束执行,确保 AJAX 响应正确终止。

代码示例

function wp_ajax_dashboard_widgets() {
	require_once ABSPATH . 'wp-admin/includes/dashboard.php';

	$pagenow = $_GET['pagenow'];
	if ( 'dashboard-user' === $pagenow || 'dashboard-network' === $pagenow || 'dashboard' === $pagenow ) {
		set_current_screen( $pagenow );
	}

	switch ( $_GET['widget'] ) {
		case 'dashboard_primary':
			wp_dashboard_primary();
			break;
	}
	wp_die();
}

注意事项

  • 此函数自 WordPress 3.4.0 版本引入,是核心 AJAX 动作的一部分。
  • 依赖 wp-admin/includes/dashboard.php 文件,确保在调用前已包含。
  • 仅处理 'dashboard_primary' 小部件,其他小部件可能需要扩展 switch 语句。
  • 使用 $_GET 参数,需确保 AJAX 请求传递正确的 'widget' 和 'pagenow' 值。

📄 原文内容

Handles dashboard widgets via AJAX.

Source

function wp_ajax_dashboard_widgets() {
	require_once ABSPATH . 'wp-admin/includes/dashboard.php';

	$pagenow = $_GET['pagenow'];
	if ( 'dashboard-user' === $pagenow || 'dashboard-network' === $pagenow || 'dashboard' === $pagenow ) {
		set_current_screen( $pagenow );
	}

	switch ( $_GET['widget'] ) {
		case 'dashboard_primary':
			wp_dashboard_primary();
			break;
	}
	wp_die();
}

Changelog

Version Description
3.4.0 Introduced.