我有一个JavaScript文件正在使用AJAX来获取一个具有WordPress功能和简单HTML的PHP文件。我的JavaScript文件可以正常使用jQuery功能来获取我的文件,但由于该文件具有WordPress功能在内部,它提供WordPress错误,因为WordPress功能显然不包括在内 - 这是在前端使用。
AJAX致电
$.ajax({
url: wnm_custom.template_url + "/admin/includes/header1.php",
success: function(html) {
$("body").append(html);
}
});
我是否必须通过WordPress加载AJAX,如果确实如此简单,因为功能正常,WordPress功能不起作用?
我的header1.php文件中的所有WordPress函数都是未定义的。
修改
$.ajax({
url: wnm_custom.template_url.ajaxurl,
type: "POST",
cache: false,
data: {action: "get_top_main"},
success: function(response) {
alert(response);
}
});
function get_top_main() {
include(get_template_directory_uri() . '/admin/includes/header1.php');
}
add_action('wp_ajax_get_top_main', 'get_top_main_up');
add_action('wp_ajax_nopriv_get_top_main', 'get_top_main_up');
这就是我现在提出的但是由于某种原因,响应是完整的页面语法...(可能因为URL指向.ajaxurl),它似乎没有调用函数。 / p>
答案 0 :(得分:1)
所有Ajax调用都应指向documentation中描述的wp-admin/admin-ajax.php
。
在您的情况下,您直接查询PHP文件header1.php
,因此当时没有加载WordPress,您又无法使用其中的任何WordPress功能