web-dev-qa-db-de.com

Wie kann ich die Sitzungsdaten des Benutzers von admin-ajax einloggen?

Ich habe einen Ajax-Anruf für einen angemeldeten Benutzer beendet, und jetzt muss ich seine Daten im empfangenden Anruf (dem Code, der den Aktionsaufruf empfängt) abfangen. Wie kann ich die Benutzer-ID zuverlässig abrufen? Dieser Code befindet sich in meiner Plugin-Definitionsdatei und der Code in der Funktion (error_log ("wir sind in ... Art von") wird aufgerufen:

add_action( 'wp_ajax_create_team', 'create_team' );
 function create_team() {

    error_log("we're in....kind of");
 }
 }
1

wp_get_current_user gibt das WP_User Objekt für den aktuell angemeldeten Benutzer aus:

add_action( 'wp_ajax_create_team', 'create_team' );
function create_team() {
    $current_user = wp_get_current_user();
    echo $current_user->ID;
    die;
}
1
Milo

Wenn Sie spezifische Daten für Ihren Ajax-Hook wünschen, müssen Sie diese mit Ihrer Anfrage senden.

<script>
    jQuery(document).ready(function($) {
        var data = {
            'action': 'my_action',
            'user_id': 1234
        };
        jQuery.post(ajaxurl, data, function(response) {
            alert('Got this from the server: ' + response);
        });
    });
</script>

oft wird wp_localize_script als praktischer Weg benutzt, um PHP-Daten als Javascript-Objekte auszugeben, die Sie dann aus dem Objekt window lesen können.

1
totels