使用 wp_ajax_(action) 为 WordPress 添加自定义 Ajax URL,发送 Ajax 请求到后端处理程序
文 / @WordPress主题
函数使用教程
我是小本本,今天给大家介绍一下wp_ajax_(action)函数的使用方法。
函数描述
wp_ajax_(action)是一个钩子函数,它可以让我们挂载自定义的函数来处理Ajax请求。这个钩子的格式为"wp_ajax_$your_action"
,其中$your_action是Ajax请求的'action'属性。如果我们需要更加灵活地控制Ajax请求的URL,我们也可以使用第三方库实现的自定义路由创建AjaxURL。不过,相对于自定义路由的方式,wp_ajax_(action)的方式将一个固定的AjaxURL添加到了javaScript全局对象中,然后通过请求的‘action’数据来区分不同的Ajax请求,这种方式更方便我们在JavaScript中实现。
使用方法
如果我们需要添加一个"add_foobar"请求,我们可以按照下面的方式创建Ajax处理函数。
add_action('wp_ajax_add_foobar','prefix_ajax_add_foobar'); functionprefix_ajax_add_foobar(){ //处理请求然后使用WP_Ajax_Response生成响应 //处理完成后,不要忘记结束程序 wp_die(); }
当我们向WordPress发送Ajax请求时,如果‘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')

相关文章
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
创建Vue组件详细教程 2023-09-10 00:23:17
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02
-
Astra 主题团队推出人工智能驱动的 WordPress 网站创建平台 – ZIPWP 2023-08-28 16:49:54
-
WordPress 宣布将为用户提供 100 年域名托管服务 2023-08-28 16:45:27
-
PHP判断if else 和 switch case的区别盘点 2023-07-29 15:11:11
-
详解WordPress独立站SEM中的OCPC方法(含百度推广OCPC与谷歌OCPC) 2023-07-19 08:01:30
-
WordPress的古腾堡全站编辑器site-editor.php介绍(附:site-editor.php启用代码) 2023-07-16 08:01:57