wordpress开发教程:原生态的wordpress ajax

近期小v脸(本网站朋友)在开发设计一款响应式的wordpressblog主题风格,该wordpress主题很多数据展示与递交都采用了ajax技术,因此小v脸刻意写一篇实例教程纪录下,便捷别的wordpress开发人员做wordpress ajax应用程序开发的情况下做参照。假如有一些小伙伴们还不知道什么是ajax,请自主百度搜索想象~~,闲言碎语就很少讲了,实例教程逐渐。
许多开发人员在写软件时喜爱用下列方法完成ajax:

  1. require_once( ‘../../../../wp-config.php’ );

就连百度站长平台官方网开发设计的wordpress非结构化数据递交软件也是如此完成ajax的,这也是一种极为不科学的书写,由于一旦客户设定的文件目录不一样, 绝对路径便会无效.而且, 假如你在你的软件中应用的是面向对象编程的书写, 你将没法同时应用一些自变量和私有化方式. 较大的弊端便是会致使全部Wordpress的架构附加重新加载一遍,比较严重的影响到了网址的运转高效率。

实际上,wordpress为了更好地便捷开发人员开发设计含有ajax作用的软件主题风格早已预订义好啦ajax方式,大家只需依照官方网预埋的方式 去应用就好了。在开发设计wordpress ajax你要先掌握的是,无论是后台管理或是前台接待一切的Ajax要求全是在admin-ajax.php解决的,向admin-ajax.php推送要求的情况下, 有一个务必的基本参数是$_REQUEST[‘action’], 由于admin-ajax.php必须依据客户是不是登录了来开启不一样的hooks。

  1. if ( is_user_logged_in() ) {  
  2.     /** 
  3.      * Fires authenticated AJAX actions for logged-in users. 
  4.      * 
  5.      * The dynamic portion of the hook name, `$_REQUEST[‘action’]`, 
  6.      * refers to the name of the AJAX action callback being fired. 
  7.      * 
  8.      * @since 2.1.0 
  9.      */  
  10.     do_action( ‘wp_ajax_’ . $_REQUEST[‘action’] );  
  11. else {  
  12.     /** 
  13.      * Fires non-authenticated AJAX actions for logged-out users. 
  14.      * 
  15.      * The dynamic portion of the hook name, `$_REQUEST[‘action’]`, 
  16.      * refers to the name of the AJAX action callback being fired. 
  17.      * 
  18.      * @since 2.8.0 
  19.      */  
  20.     do_action( ‘wp_ajax_nopriv_’ . $_REQUEST[‘action’] );  
  21. }  

以上编码取自wordpress系统文档admin-ajax.php,从以上编码我们可以看得出我们要进行一个要求最先要明白这一要求是不是在登陆情况下进行的?不一样情况开启的hook也不一样,下边是个在主题风格运用jquery完成ajax的实例编码:

  1. add_action( ‘wp_head’, ‘v7v3AjaxScript’);  
  2. function v7v3AjaxScript(){  
  3.     print ‘<script>var v7v3_ajaxurl = “‘. admin_url( ‘admin-ajax.php’ ) . ‘”‘ . “;</script>n”;  
  4.     print “<script> 
  5.     $(docunment).ready(function(){ 
  6.         $.ajax( { 
  7.             url: v7v3_ajaxurl, 
  8.             data:{ 
  9.                 action : ‘is_login’ 
  10.             }, 
  11.             type:’post’, 
  12.             cache:false, 
  13.             success:function(data) { 
  14.                 alert(data); 
  15.             } 
  16.         }); 
  17.     }); 
  18.     </scrip>”;  
  19. }  
  20.      
  21. add_action( ‘wp_ajax_nopriv_is_login’, ‘v7v3_ajax_not_login’ );  
  22. add_action( ‘wp_ajax_is_login’, ‘v7v3_ajax_is_login’ );  
  23.      
  24. function v7v3_ajax_is_login(){  
  25.     global $current_user;  
  26.     get_currentuserinfo();  
  27.     printf( ‘登陆客户你好 : %s!’, $current_user->display_name );  
  28.     //函数公式完毕前的die或exit很重要,一定要加。  
  29.     die;  
  30. }  
  31.      
  32. function v7v3_ajax_not_login(){  
  33.     print ‘尊重的访问者你好!’;  
  34.     //函数公式完毕前的die或exit很重要,一定要加。  
  35.     die;  
  36. }  

在开发设计wordpress ajax运用中最重要的一点便是函数公式完毕以前一定要加die或是exit,假如不用得话会把全部wordpress架构都重新加载一遍。

本文由网友投稿或「聚码源码网」整理自网络,如转载请注明出处:https://www.jumaniu.com/919/

本站发布的内容若侵犯到您的权益,请邮件联系 zhangqy2022#yeah.net 删除,我们将及时处理!

从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!

本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。

本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。

若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

常见问题
  • 本站所有资源解压密码为:www.jumaniu.com 或 www.tdji.cn
查看详情

相关文章

评论
暂无评论