好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

使用wordpress自带ajax方法 - WordPress

使用wordpress自带ajax方法

如本站每页logo后面的一句名言,点击[换一条]就会ajax动态加载一条,使用了wordpress的自带ajax方法,下面介绍如何使用wordpress自带ajax方法:

1.在header.php文件加入html和js,代码如下:

<span id= "random" ><i id= "say" ><?php  echo  random_str();?></i> [<a href= "javascript:void();"  onclick= "say();"  rel= "nofollow" >换一条</a>]</span> 

js ajax请求,代码如下:

<!-- 换一条-->  <?php $admin_url=admin_url(  'admin-ajax.php'  );?>  <script type= "text/javascript" >  function  say(){   jQuery(document).ready( function ($){     var  data={     action: 'say'     }    $.post( "<?php echo $admin_url;?>" , data,  function (response) {     $( "#say" ).text(response);    });   });  }  </script> 

在wordpress中ajax请求的url地址是统一的,用$admin_url=admin_url( ‘admin-ajax.php’)获取。

2.在主题的function.php中写接收请求处理函数,代码如下:

//换一条   function  say(){   echo random_str();   die();  }  add_action( 'wp_ajax_say' ,  'say' );  add_action( 'wp_ajax_nopriv_say' ,  'say' );   add_action( 'wp_ajax_say' ,  'say' );  add_action( 'wp_ajax_nopriv_say' ,  'say' ); 

重点是这两个钩子函数,wp_ajax_say第一个参数是wp_ajax_函数名称,wp_ajax_nopriv_say表示没有登录的用户的处理函数,这里对有没有登录的用户都是一样的,所以都写上.

就这样,就已经实现了ajax的功能,是不是很方便,但是wordpress的ajax请求感觉好慢啊!!!

最好附上随机输出名言的函数,代码如下:

function  random_str () {   $poems=array(     '三人行,必有我师焉。择其善者而从之,其不善者而改之。——孔子' ,     '成为卓越的代名词,很多人并不需要杰出素质的环境。——Steve Jobs' ,     '活着就是为了改变世界,难道还有其他原因吗?——Steve Jobs' ,     'Follow yourself.(追随你的内心)——Steve Jobs' ,     '生活是不公平的;要去适应它。——比尔盖茨' ,     '走自己的路,让别人说去吧。——但丁' ,     '成功并不是一条直线,而是一条蜿蜒曲折的线。' ,     '让你难过的事情,有一天,你一定会笑着说出来。 ——《肖申克的救赎》' ,     '如果额头终将刻上邹纹,你只能做到邹纹不要刻在你心上。——中国合伙人' ,     '梦想是什么,梦想就是一种让你感到坚持就是幸福的东西。——中国合伙人' ,     '记住你即将死去——乔布斯' ,     '当你快乐时,你要想,这快乐不是永恒的。当你痛苦时你要想这痛苦也不是永恒的。' ,     '古人云:尽人事,听天命。' ,     '如果人生能像svn一样能恢复到以前任何一个版本该多好啊' ,     'Stay Hungry, Stay Foolish' ,     '做你喜欢的事情不会觉得累' ,     '今天很残酷,明天更残酷,后天会很美好,但绝大多数人都死在明天晚上——马云' ,     '天才就是百分之九十九的努力加上百分之一的灵感,但是没有那百分之一的灵感万万不行 ——爱迪生' ,     '不要被教条束缚,那意味着你和别人一样思考,不要被他人的观点掩盖你真正的想法,听从你的直觉和心灵的指示。——Steve Jobs' ,     'The clock hand can return to the original point, but it is not that of yesterday. ' ,   );    return  $poems[rand(0,count($poems)-1)]; 

查看更多关于使用wordpress自带ajax方法 - WordPress的详细内容...

  阅读:62次