黄聪:使用WORDPRESS自带AJAX方法
例如给网站每页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方法的更多相关文章
- 使用wordpress自带ajax方法
		css3 提示只适用于高级浏览器: ChromeFirefoxSafariIE9+ valid.invalid.required的定义 代码如下 复制代码 input:required, input: ... 
- 黄聪:《跟黄聪学WordPress插件开发》
		续<跟黄聪学WordPress主题开发>之后,又一个作品完成!<跟黄聪学Wordpress插件开发>,国内最好的Wordpress插件开发视频教程!! 目录预览: WordPr ... 
- 黄聪:《跟黄聪学WordPress主题开发》
		又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ... 
- 黄聪:wordpress教程
		又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ... 
- 黄聪:wordpress后台导致fonts.googleapis.com、ajax.googleapis.com加载慢的解决方法
		方法1.使用我做的插件.[googleapis-to-useso] 方法2.在functions.php文件里面添加下面的代码就行了. if(is_admin()) { function hcsem_ ... 
- 黄聪:使用$.getJSON解决ajax跨域访问 JQuery 的跨域方法(服务器端为wordpress程序)
		客户端: <input id="cat" name="cat" type="hidden" value="<? ech ... 
- 黄聪:WordPress固定链接设置的几种方法
		wordpress固定链接设置的一些参数: %year%:基于文章发布的年份,比如2010: %monthnum%:基于文章发布的月份,比如01: %day%:基于文章发布当日,比如06: %hour ... 
- 黄聪:wordpress后台加载ajax.googleapis.com导致打开速度很慢的解决方案
		打开wordpress后台,发现很卡,通过开发者工具看到是因为加载http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothn ... 
- 黄聪:WordPress制作插件中使用wp_enqueue_script('jquery')库不起作用解决方法
		这个应该不是什么新信息,但我却是现在才搞清楚. 今天又是在wordpress调用jquery,情况还是如此.无意中打开wordpress中jquery.js,然后对比code.jquery.com中的 ... 
随机推荐
- POJ 1426 Find The Multiple --- BFS || DFS
			POJ 1426 Find The Multiple 题意:给定一个整数n,求n的一个倍数,要求这个倍数只含0和1 参考博客:点我 解法一:普通的BFS(用G++能过但C++会超时) 从小到大搜索直至 ... 
- IOS中如果使用RGB实现背景色
			在开发的过程中.我们往往会碰到图片很多的情况.这时候我们的程序打包就会变得很大.一些纯色的图片可以用RGB来实现.这样可以减少内存的占用MAC本中有数码测色计这个功能.通过这个我们可以获得图片的RGB ... 
- Qt GUI@学习日志
			day 1: Qt中类: 理解一个类最好还是从其类代码实现上看. 由此图可看出需要好好研究那几个重要的类:Qt/QEvent/QObject/QWidget/. QApplication: (比较复杂 ... 
- C#配置升级
			void ConvertProject() { List<BaseProjectConverter> convertors = new List<BaseProjectConvert ... 
- ComboPooledDataSource 连接池耗完
			这里发现时由于代码里手动加载 ApplicationContext.xml文件造成的: 问题代码: ApplicationContext context = new ClassPathXmlAppli ... 
- 给OCR文字识别软件添加图像的方法
			ABBYY FineReader 12是一款OCR图片文字识别软件,而且强大的它现在还可使用快速扫描窗口中的快速打开.扫描并保存为图像或任务自动化任务,在没有进行预处理和OCR的ABBYY FineR ... 
- 在EntityFramework中使用 nock的方法。
			以下内容为转载: A:https://dotblogs.com.tw/asdtey/2009/09/27/10793 B:http://www.gitshah.com/2014/08/how-to-a ... 
- http://stackoverflow.com/questions/12601907/loading-google-maps-in-anonymous-function
			http://stackoverflow.com/questions/12601907/loading-google-maps-in-anonymous-function window.gMaps ... 
- linux包之gdb之gdb命令与core文件产生
			gdb-7.2-64.el6_5.2.x86_64/usr/bin/gcore/usr/bin/gdb/usr/bin/gdb-add-index/usr/bin/gdbtui/usr/bin/gst ... 
- OpenJudge计算概论-寻找下标
			/*======================================================================== 寻找下标 总时间限制: 1000ms 内存限制: ... 
