wordpress中的php+ajax

以前是也整过异步,但我一直不知道wordpress可以自己处理自定义的AJAX回调请求,核心文件是/wp-admin/admin-ajax.php.可以广泛运用在各处,这里给个实例吧,例子来自以前写的抓取网站第N条评论的作者,本文将以此为例介绍怎么在wordpress中用ajax异步调用PHP的function.
记得前几天大发还问我,是不是觉得网站人气完犊子了?很明显确实完犊子了,你们这些没良心的,我就才忙了几天,人就跑光了,一点也不忠贞.
但是即使没有人看,代码还是要继续写的.
LIFE WILL GO ON EVEN U LEFT

JQ部分

function xhdAlert() {
	/** XHD AJAX BEGIN **/
	$.get(
		xhd_ajax_url, //ajax地址
		{ 
			action : 'get_4000th_ca',//调用的PHP function
			beforeSend: function() {  $('.oooo').text('Smallbutterfly loading');  } 
		},
		function( response ){
			$('.oooo').remove();
			if ( !response.error ) {
				alert ('The 4000th comment author of xiaohudie.net is ' + response.ca );//从PHP获取结果
			} else {
				alert ('error: ' + response.error );    
			}
		},
		"json" 
	);
} 

PHP部分

functions.php中加入如下代码

add_action( 'wp_ajax_nopriv_get_4000th_ca', 'get_get_4000th_ca' );
add_action( 'wp_ajax_get_4000th_ca', 'get_4000th_ca' );
function get_4000th_ca() {
	$comments = get_comments('number=1&offset=3999&order=ASC');
	header( "Content-Type: application/json" );
	foreach($comments as $comment) :
		echo json_encode( array('ca' => $comment ->comment_author) );//PHP获取的结果
		exit;//请求完成
	endforeach;
}

调用

<?php
echo "<script>";
echo "var xhd_ajax_url = '" . admin_url( 'admin-ajax.php' ) . "'"; 
echo "</script>" ;
?>
<a class="oooo" onclick="javascript:xhdAlert()">alert</a>

演示如下:

Click me!
“; echo “var xhd_ajax_url = ‘” . admin_url( ‘admin-ajax.php’ ) . “‘”; echo “” ;?>

LIKE OR SHARE IT:

admin发表于Code目录下,标签为,转载请保留链接

TOP DOWN
发表评论

您必须 [ 登录 ] 才能发表留言!

  1. 沙 发 张书杨

    沙发 :v5:

    四月 20, 2013 20:01:35
  2. 板 凳 SEO博客

    沙发 :v5:

    四月 20, 2013 20:01:36
  3. 地 板 公子

    我去,刚微博上看到。。。

    四月 20, 2013 20:02:28
  4. 地 毯 不亦乐乎

    收到好像被人抛弃一样,你是忙这搓麻将吧。 :koubi:

    四月 20, 2013 20:04:42
  5. 地 面 跑调的包子

    我去,我来晚了

    四月 20, 2013 20:05:28
  6. 地 下 不亦乐乎

    每次都是沙发板凳地板都被抢完了才收到邮件。。。。。
    刚才都发了前一条评论提示有新邮件,我还以为哪里的回复呢。。。

    四月 20, 2013 20:06:09
  7. 7 楼 张书杨

    刚发现小蝴蝶换主机了…跑到A国去了,跟大发一起?

    四月 20, 2013 20:20:43
  8. 8 楼 大发

    不明觉厉,不要让我老露脸啊

    四月 20, 2013 20:48:33
  9. 9 楼 常阳时光

    来晚了……

    四月 20, 2013 21:16:27
  10. 10 楼 郑永

    多写几个有用的实例。

    四月 20, 2013 21:35:08
  11. 11 楼 airoschou

    LIFE WILL GO ON EVEN U LEFT??
    发生了什么了吗? :guai:

    四月 20, 2013 22:31:59
  12. 12 楼 ChoJemmy

    木有一篇看得懂,无从下口啊

    四月 20, 2013 22:46:47
  13. 13 楼 Tokin

    正在研究PJAX,代码完全看不懂,只能一点点试,我去,累死啦,还没成功

    四月 20, 2013 22:55:30
  14. 14 楼 yxiao

    路过。看懂一点点。 :kelian:

    四月 21, 2013 01:44:16
  15. 15 楼 一念花开

    来了,给你增加点人气。

    四月 21, 2013 16:43:52
  16. 16 楼 夜枫

    有些我木有看懂~~话说你折腾个比如动态加载评论表情??其实介个偶想要 :keai: :keai: …代码盲,自己不会….

    四月 21, 2013 17:35:58
  17. 17 楼 Ludou

    其实很多人都不知道这种方法。还在额外写个php文件,require_once( “../../../../wp-load.php” );

    五月 30, 2013 19:03:59