欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

wordpress中的php+ajax

程序员文章站 2022-04-15 12:17:29
...

以前是也整过异步,但我一直不知道wordpress可以自己处理自定义的AJAX回调请求,核心文件是 /wp-admin/admin-ajax.php .可以广泛运用在各处,这里给个实例吧,例子来自以前写的抓取网站第N条评论的作者,本文将以此为例介绍怎么在wordpress中用ajax异步调用PHP的f

以前是也整过异步,但我一直不知道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;
}

调用

";
echo "var xhd_ajax_url = '" . admin_url( 'admin-ajax.php' ) . "'"; 
echo "" ;
?>
alert

演示如下:

Click me!