例如给网站每页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');

重点是这两个钩子函数,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)];
}

转自:http://www.tantengvip.com/2014/01/wordpress-ajax-jquery/

黄聪:使用WORDPRESS自带AJAX方法的更多相关文章

  1. 使用wordpress自带ajax方法

    css3 提示只适用于高级浏览器: ChromeFirefoxSafariIE9+ valid.invalid.required的定义 代码如下 复制代码 input:required, input: ...

  2. 黄聪:《跟黄聪学WordPress插件开发》

    续<跟黄聪学WordPress主题开发>之后,又一个作品完成!<跟黄聪学Wordpress插件开发>,国内最好的Wordpress插件开发视频教程!! 目录预览: WordPr ...

  3. 黄聪:《跟黄聪学WordPress主题开发》

    又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...

  4. 黄聪:wordpress教程

    又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...

  5. 黄聪:wordpress后台导致fonts.googleapis.com、ajax.googleapis.com加载慢的解决方法

    方法1.使用我做的插件.[googleapis-to-useso] 方法2.在functions.php文件里面添加下面的代码就行了. if(is_admin()) { function hcsem_ ...

  6. 黄聪:使用$.getJSON解决ajax跨域访问 JQuery 的跨域方法(服务器端为wordpress程序)

    客户端: <input id="cat" name="cat" type="hidden" value="<? ech ...

  7. 黄聪:WordPress固定链接设置的几种方法

    wordpress固定链接设置的一些参数: %year%:基于文章发布的年份,比如2010: %monthnum%:基于文章发布的月份,比如01: %day%:基于文章发布当日,比如06: %hour ...

  8. 黄聪:wordpress后台加载ajax.googleapis.com导致打开速度很慢的解决方案

    打开wordpress后台,发现很卡,通过开发者工具看到是因为加载http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothn ...

  9. 黄聪:WordPress制作插件中使用wp_enqueue_script('jquery')库不起作用解决方法

    这个应该不是什么新信息,但我却是现在才搞清楚. 今天又是在wordpress调用jquery,情况还是如此.无意中打开wordpress中jquery.js,然后对比code.jquery.com中的 ...

随机推荐

  1. ZOJ 1024 Calendar Game

    原题链接 题目大意:2001年11月4日是一个黄道吉日,有两个人做游戏,看谁先数到这个日子.可以往后数一天,比如2号到3号,30号到31号,也可以往后数一个月.给出一个起始的日子,求能否保证先开始游戏 ...

  2. codeforces hungry sequence 水题

    题目链接:http://codeforces.com/problemset/problem/327/B 这道题目虽然超级简单,但是当初我还真的没有想出来做法,囧,看完别人的代码恍然大悟. #inclu ...

  3. SQL Server 合并表 union 和union all

    如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来. union和unio ...

  4. c++有默认参数的函数---4

    原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 1.默认参数的目的 C++可以给函数定义默认参数值.通常,调用函数时,要为函数的每个参数给定对应的实参. ...

  5. 在JSP页面下使用AJAX实现用户名存在的检测

    <script type="text/javascript">     function init(){         document.getElementById ...

  6. JavaWeb学习记录(十九)——jsp标签库

    1.out标签 <%        //局部变量        String name="zsf>&<zz";        pageContext.se ...

  7. 二叉树遍历 空间复杂度为O(1)

    http://blog.csdn.net/mxw976235955/article/details/39829973 http://www.tuicool.com/articles/zA7NJbj / ...

  8. linux下重启mysql php nginx

    #  /etc/init.d/mysql restart #  /etc/init.d/php-fpm restart #  /etc/init.d/nginx restart

  9. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  10. Html-双斜杠//开头的URL(依赖协议的URL)

    今天看京东HTTPS,发现链接都是这种 <a href="//chaoshi.jd.com">京东超市</a> URL是以双斜杠"//" ...