关于wordpress的ajax写法
想针对一个wordpress的模板程序进行更改,想到ajax的方便,就研究了一下。
以下是使用方法和代码:
js页面如下
<script>
var ajaxurl = '<?php echo admin_url('admin-ajax.php')?>';
function getVideo(id){
//必须使用以下里面才能正常使用jquery
jQuery(document).ready(function($){
var data={
tape:id,
//这里尤为重要,action的参数要和请求的函数名一致
action : 'get_ajax_video',
}
$.post(ajaxurl, data, function(response) {
$('.player').html(response);
});
});
}
</script>
AJAX请求应该指向wp-admin/admin-ajax.php。虽然”admin”这个词有点容易误导人,不过即使是前台的ajax请求,也应该定位到admin-ajax.php。
admin-ajax需要一个参数“action”。admin-ajax需要这个参数来处理请求,它通常触发一个hook,根据是否登录有所不同。
然后在插件或者主题里写函数
function get_ajax_video() {
// 输出响应
header( "Content-Type: application/json" );
echo json_encode($html);
exit;//这个停止一定要写
}
//函数名对应添加上,第一个表示用户没有登录时,这里全部都一样处理
add_action( 'wp_ajax_nopriv_get_ajax_video', 'get_ajax_video' );
add_action( 'wp_ajax_get_ajax_video', 'get_ajax_video' );