web-dev-qa-db-fra.com

Comment puis-je enregistrer les données de session de l'utilisateur depuis admin-ajax?

J'ai accroché un appel ajax pour un utilisateur connecté et je dois maintenant récupérer ses données dans l'appel de réception (le code qui reçoit l'appel d'action). Comment obtenir l'identifiant de l'utilisateur de manière fiable? Ce code est à l'intérieur de mon fichier de définition de plugin et le code à l'intérieur de la fonction (error_log ("nous sommes dans .... genre de");) est appelé:

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

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

wp_get_current_user vous obtiendrez l'objet WP_User pour l'utilisateur actuellement connecté:

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

Si vous souhaitez des données spécifiques pour votre hook ajax, vous devez les envoyer avec votre demande.

<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>

souvent fois wp_localize_script est utilisé comme un moyen pratique de générer des données php sous forme d'objets javascript que vous pouvez ensuite lire à partir de l'objet window.

1
totels