WordPress中利用admin-ajax.php实现Ajax功能
发布:smiling 来源: PHP粉丝网 添加日期:2014-06-20 16:31:21 浏览: 评论:0
用这个文件进行 Ajax 的好处主要有几点:
安全:WordPress 本身进行了很复杂的安全性优化,如果我们都自己写是很浪费时间和资源的.
兼容:由于文件是公用的,提供了通用的钩子,其它插件都可以参与进去.
高效:这个不解释了,既符合原则(执行到了 init 钩子),又兼顾了效率问题.
方便:一个钩子即可输出代码,都不用判断条件.
基本就这几点了,网上查了一下,发现关于此文件的资料并不多,于是看了下源码,发现使用其实很简单.
首先请求这个文件:echo admin_url( 'admin-ajax.php' );
向admin-ajax.php发送请求的时候,有一个必须的参数是action,因为admin-ajax.php需要根据用户是否登陆了来触发不同的hooks,代码如下:
- // 如果没登陆, 会触发这个hook
- do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] );
- // 如果登陆了, 会触发这个hook
- do_action( 'wp_ajax_' . $_POST['action'] );
- 发出Ajax请求的代码大概如下:
- jQuery.post(
- MyAjax.ajaxurl,
- {
- action : 'myajax-submit',
- postID : MyAjax.postID
- },
- function( response ) {
- alert( response );
- }
- );
现在,我们只需要在我们的主题文件中处理一下Ajax请求,并不需要在单独的文件中来处理,代码如下:
- add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
- add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
- function myajax_submit() {
- $postID = $_POST['postID'];
- $response = json_encode( array( 'success' => true ) );
- header( "Content-Type: application/json" );
- echo $response;
- // 这个很关键啊有木有: 别忘记 "exit"
- exit;
- }
在登录和未登录的情况下会分别调用 wp_ajax_nopriv_action参数内容 和 wp_ajax_action参数内容,所以在这里输出即可,具体可以研究下 admin-ajax.php 文件.
Tags: admin-ajax php Ajax功能
相关文章
- ·关于wordpress与织梦帝国以及phpcms的一些认识(2014-04-24)
- ·wordpress小工具怎么支持php代码(2014-07-23)
- ·wordpress防止xmlrpc.php大量消耗服务器资源(2014-10-17)
- ·Nginx下WordPress附件目录禁止运行PHP(2015-06-24)
- ·您在wp-config.php文件中提供的数据库用户名和密码可能不正确(2015-09-23)
- ·wordpress教程:WDCP面板升级PHP5(2018-12-06)
- ·WordPress数据库配置文件wp-config.php(2018-12-24)
- ·PHP批量查询WordPress留言者E-mail地址实现方法(2021-05-14)
- ·在WordPress中使用PHP脚本来判断访客来自什么国家(2021-06-29)
- ·关于WordPress的SEO优化相关的一些PHP页面脚本技巧(2021-06-29)
- ·使用PHP+AJAX让WordPress动态加载文章的教程(2021-06-29)
- ·WordPress中获取页面链接和标题的相关PHP函数用法解析(2021-06-30)
- ·PHP版本升级到7.x后wordpress的一些修改及wordpress技巧(2021-07-02)
- ·详解WordPress中调用评论模板和循环输出评论的PHP函数(2021-07-03)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)