WordPress 使用ajax方式请求数据

在WordPress中,所有的ajax请求都通过admin-ajax.php接管,只需要后台简单的添加动作,即可实现ajax请求。

创建函数

ajax分为管理员权限和普通用户权限,统一以wp_ajax开头,首先,在插件或者主题functions.php文件中,创建一个函数,例如:

function fun_hello_world(){
    echo '大家好,我是渣渣灰';
    wp_die();//停止内容
}

添加钩子

add_action('wp_ajax_hello_world', 'fun_hello_world');//管理员调用 
add_action('wp_ajax_nopriv_hello_world', 'fun_hello_world');//未登录用户可以调用

其中,第一个为钩子名称,wp_ajax_后面的内容,你自己起,例如这儿以hello_world结尾。第二个参数为函数名称,我绑定了上面创建的这个函数。
那么,在管理员权限下,可以调用第一个动作,非管理员,可以调用第二个动作。调用第一个,如果没有登录,调用的话则为400错误。

调用方法

使用jquery。必须包含参数action,这个就是上面注册的名称了。

var data = {action: 'hello_world'}
$.post("<?php echo admin_url('admin-ajax.php');?>", data, function (data) {
     //获取内容回调
   });

 

 

上一篇 Linux 快捷方式用管理员权限启动
下一篇 WordPress 调用自带媒体中心选择图片
目录
applek

applek管理员

个人说明在个人中心里面设置

本月创作热力图

少
多
最新评论
卢温白
卢温白
10月10日
咨询 AeroCore 主题: 1、能否制作两套独立归档模板,分别分配给两个父栏目,各自下属全部子分类?一套分类网格一行 10 个卡片,另一套分类列表一行仅显
评论于关于本站
卢温白
卢温白
10月10日
咨询 CoreNext 主题: 1、能否制作两套独立归档模板,分别分配给两个父栏目,各自下属全部子分类?一套分类网格一行 10 个卡片,另一套分类列表一行仅显
评论于留言建议
jo
jo
10月9日
为什么后台不能更新主题,提示已经最新版。当前版本1.4.9,我看网站显示版本都到1.5.2了
Tom
Tom
10月8日
AeroCore 的按需加载确实做得好,Vite 构建后的首屏比之前 CoreNext 快不少。不过上面 Mike 说的进度条问题我这边也能稳定复现:从留言页点
评论于留言建议
Shaw
Shaw
10月2日
需要邀请码注册功能,有了马上下单