2017-01-12 1 views
0

In einem Plugin, ich bin eine Ajax-Skript Einleitung:wp_get_current_user leer - Ajax auf Sub-Domain

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

In phpscripts/gettable.php, ich versuche

print_r(wp_get_current_user()); 

ich das Ajax-Skript wie folgt aufrufen :

jQuery.post(ajaxurl, {'action':'getthatable'}, function(data){ 
jQuery("#thatablecont").html(data); 
}); 

ich benutze Q-translate-X und haben eine mehrsprachige Option auf en.mydomain.com. Das AJAX-Skript gibt ein leeres Objekt aus, wenn ich auf die Site als en.mydomain.com zugreife:

WP_User-Objekt ([Daten] => StdClass Object() [ID] => 0 [Caps] => Array () [cap_key] => [rollen] => Array() [allcaps] => Array() [filter] =>)

Aber wenn ich von mydomain.com darauf zugreife, zeigt es gut den eingeloggten Benutzer an .

Vielen Dank für Ihre Hilfe!

Antwort

1

Der Fehler war mit der voreingestellten Ajaxurl in meiner js. Eine schnelle Problemumgehung war das manuelle Zurücksetzen:

var ajaxurl=location.protocol + "//" + document.domain + "/wp-admin/admin-ajax.php";