函数文档

wp_ajax_fetch_list()

💡 云策文档标注

概述

wp_ajax_fetch_list() 是一个 WordPress AJAX 处理函数,用于安全地获取列表表格数据。它通过验证请求、检查用户权限并调用 WP_List_Table 的 AJAX 响应方法来处理列表数据获取。

关键要点

  • 函数通过 AJAX 处理列表表格的获取请求,确保数据安全性和用户权限验证。
  • 使用 check_ajax_referer() 验证 AJAX 请求的 nonce,防止外部请求处理。
  • 调用 _get_list_table() 获取 WP_List_Table 实例,并检查 ajax_user_can() 权限。
  • 最终通过 ajax_response() 方法输出响应,并使用 wp_die() 终止执行。

代码示例

function wp_ajax_fetch_list() {
    $list_class = $_GET['list_args']['class'];
    check_ajax_referer( "fetch-list-$list_class", '_ajax_fetch_list_nonce' );

    $wp_list_table = _get_list_table( $list_class, array( 'screen' => $_GET['list_args']['screen']['id'] ) );
    if ( ! $wp_list_table ) {
        wp_die( 0 );
    }

    if ( ! $wp_list_table->ajax_user_can() ) {
        wp_die( -1 );
    }

    $wp_list_table->ajax_response();

    wp_die( 0 );
}

注意事项

  • 此函数自 WordPress 3.1.0 版本引入,是核心 AJAX 处理机制的一部分。
  • 相关函数包括 WP_List_Table::ajax_response()、WP_List_Table::ajax_user_can()、_get_list_table()、check_ajax_referer() 和 wp_die(),用于确保请求的安全性和正确性。

📄 原文内容

Handles fetching a list table via AJAX.

Source

function wp_ajax_fetch_list() {
	$list_class = $_GET['list_args']['class'];
	check_ajax_referer( "fetch-list-$list_class", '_ajax_fetch_list_nonce' );

	$wp_list_table = _get_list_table( $list_class, array( 'screen' => $_GET['list_args']['screen']['id'] ) );
	if ( ! $wp_list_table ) {
		wp_die( 0 );
	}

	if ( ! $wp_list_table->ajax_user_can() ) {
		wp_die( -1 );
	}

	$wp_list_table->ajax_response();

	wp_die( 0 );
}

Changelog

Version Description
3.1.0 Introduced.