在插件中,我发起了一个ajax脚本:
function getthatable_callback() {
global $wpdb;
include("phpscripts/gettable.php");
wp_die();
}
add_action( 'wp_ajax_getthatable', 'getthatable_callback' );
add_action( 'wp_ajax_nopriv_getthatable', 'getthatable_callback' );
在phpscripts / gettable.php中,我尝试
print_r(wp_get_current_user());
我像这样调用ajax脚本:
jQuery.post(ajaxurl, {'action':'getthatable'}, function(data){
jQuery("#thatablecont").html(data);
});
我使用Q-translate-X并将多语言选项设置为en.mydomain.com。当我以en.mydomain.com的身份访问网站时,AJAX脚本会输出一个空对象:
WP_User对象([data] => stdClass对象()[ID] => 0 [个字符] =>数组()[cap_key] => [roles] =>数组()[allcaps] => Array()[filter] =>)
但是当我从mydomain.com访问它时,它会很好地显示登录用户。
感谢您的帮助!
答案 0 :(得分:1)
错误是在我的js中使用预先设定的ajaxurl。一个快速的解决方法是手动重置它:
var ajaxurl=location.protocol + "//" + document.domain + "/wp-admin/admin-ajax.php";