您可以将函数添加到两个挂钩:
add_action(\'wp_ajax_ajaxTest\', \'ajaxTest\');
add_action(\'wp_ajax_nopriv_ajaxTest\', \'ajaxTest\');
但是,有一种更好的方法,使用REST API端点:
add_action( \'rest_api_init\', function () {
register_rest_route( \'yourstuff/v1\', \'/test/\', array(
\'methods\' => \'POST\',
\'callback\' => \'yourstuff_test_endpoint\'
) );
} );
function yourstuff_test_endpoint( $request ) {
$stuff = $request[\'stuff\'];
return "Received ".esc_html( $stuff );
}
现在,如果我们刷新永久链接,我们将在
example.com/wp-json/yourstuff/v1/test, 当我们向它发出POST请求时,我们会返回一个JSON字符串。E、 g。
jQuery.ajax( {
url: \'/wp-json/yourstuff/v1/test\',
method: \'POST\',
data:{
\'stuff\' : \'Hello World!\'
}
} ).done( function ( response ) {
console.log( response );
} );
使用该JavaScript,我希望在控制台中看到以下内容:
"Received Hello World!"
您可以将更多参数传递给
register_rest_route 告诉它您的请求期望/需要/可选的参数,身份验证、验证、清理,它将为您解决所有问题。
使用wpadminajax,您必须自己完成所有的工作,并希望您构建正确,以及在所有可能的错误中编写程序。REST API为您做到了这一切