+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > 使用 wp_ajax_(action) 为 WordPress 添加自定义 Ajax URL,发送 Ajax 请求到后端处理程序 >

使用 wp_ajax_(action) 为 WordPress 添加自定义 Ajax URL,发送 Ajax 请求到后端处理程序

时间:2024-07-22 11:12:51

函数描述
wp_ajax_(action) 是自已钩子,此钩子允许我们挂载一个自定义函数,用来处理我们自己的 Ajax 请求。 wp_ajax_ 钩子的格式为 "wp_ajax_$your_action", $your_action 是 Ajax 请求的 'action' 属性。此外,我们也可以使用第三方库实现的自定义路由创建 Ajax URL。相对于自定义路由的方式,wp_ajax_(action)的方式,把一个固定 Ajax URL 添加到了 javaScript 全局对象中,然后通过请求的 ‘action’ 数据来区分不同的 Ajax 请求,更方便在 JavaScript 中使用。

使用方法
如果我们需要来添加一个 "add_foobar" 请求,我们应该像下面这样创建这个 Ajax 处理函数。

add_action( 'wp_ajax_add_foobar', 'prefix_ajax_add_foobar' );

function prefix_ajax_add_foobar() {
    // 处理请求然后使用 WP_Ajax_Response 生成响应

    // 处理完成后,不要忘记结束程序
    wp_die();
}
复制
当我们发送 Ajax 请求到 WordPress 中的时候,如果 ‘action’ 属性设置为 ‘add_foobar’,我们定义的钩子以及挂载到钩子上的函数会自动运行。例如,下面的例子将会执行上面我们定义的 Ajax 处理程序。

jQuery.post(
    ajaxurl, 
    {
        'action': 'add_foobar',
        'data':   'foobarid'
    }, 
    function(response){
        c-alert('服务器响应为: ' + response);
    }
);
复制
注意:上面例子中,“data” 参数的值 (foobarid) 可以在挂载的函数中,通过 $_POST 数组访问。

注意事项
wp_ajax_(action) 钩子只允许已登录的用户访问,如果我们需要同时监听未登录用户的 Ajax 请求, 需要使用 wp_ajax_nopriv_ 钩子,如: add_action( 'wp_ajax_nopriv_add_foobar', 'prefix_ajax_add_foobar' )

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title