0

プラグインで、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 Object ( [data] => stdClass Object ( ) [ID] => 0 [caps] => Array ( ) [cap_key] => [roles] => Array ( ) [allcaps] => Array ( ) [filter] => )

しかし、mydomain.com からアクセスすると、ログインしているユーザーがよく表示されます。

手伝ってくれてありがとう!

4

1 に答える 1

1

エラーは、js の事前設定された ajaxurl にありました。簡単な回避策は、手動でリセットすることでした:

var ajaxurl=location.protocol + "//" + document.domain + "/wp-admin/admin-ajax.php";
于 2017-01-12T17:28:01.037 に答える