kavo

关于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' );


posted on 2017-12-28 14:41  下雨天唱情歌  阅读(38)  评论(0编辑  收藏  举报  来源

导航