WordPress Ajax实现方法,admin-ajax.php挂在钩子wp_ajax

Hook

$action = 'my_custom_action';

// 为未登录的用户触发Ajax 操作。
do_action ( "wp_ajax_nopriv_{$action}" );

// 为已登录用户触发经过身份验证的Ajax 操作。
do_action ( "wp_ajax_{$action}" );

如果不确定是否用户身份是否会出发,两种方法可同时挂载。

请求

// https://www.disyo.com/wp-admin/admin-ajax.php
$adminAjaxUrl = admin_url('admin-ajax.php');

// 插件自定ajax链接
$action = 'my_custom_action';
$customAjaxUrl = add_query_arg('action', $action, $adminAjaxUrl);

只要$_REQUEST[‘action’]提供了值,它就可以用于任何类型的请求方法(GET、POST、PUT、PATCH、DELETE)。此操作值用于触发操作。如果没有注册动作处理程序,则返回一个字符串0。

后端例子

function my_custom_action(){
	$result = false;
	if (  $result ) {
            wp_send_json_error();
        }else {
            wp_send_json_success();
        }

}

add_action('wp_ajax_my_custom_action', 'my_custom_action');

前端请求

$.post("https://www.disyo.com/wp-admin/admin-ajax.php?action=my_custom_actiom", {
	
}, function(data, status){
	
});

 

© 版权声明
THE END

喜欢就支持一下吧

点赞2 分享
评论 抢沙发

请登录后发表评论