WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

使用wordpress自带ajax方法

更新时间:2014-02-10 13:31 作者:佚名点击:

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


1.在header.php文件加入html和js

 代码如下  

html:

<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)];
 

顶一下
(1)
25%
踩一下
(3)
75%
------分隔线----------------------------
你可能感兴趣的内容