Aller au contenu

Session WordPress


Sujets conseillés

Posté

Bonjour à tous,

 

Je débute avec WordPress. J'ai un site de question-réponse pour lequel j'ajoute des feuilles PHP.  J'aimerais pouvoir afficher le nom d'un utilisateur de mon site là où je le souhaite. Je m'explique. L'utilisateur s'inscrit sur mon site. Son nom et son mail sont enregistrés dans la zone admin Wordpress sans problème. Et j'aimerais, sur certaines de mes pages, afficher quelque chose du type : "Bravo <gras>Paul</gras> ! Vous avez trouvé la bonne réponse." Et  c'est là que je galère. Comment cela est-il possible d'afficher à ma guise le nom de l'utilisateur enregistré.  SESSION ? COOKIE ?

Je vous remercie d'avance pour toute l'aide que vous pourriez m'apporter.

Posté

Bonjour,

 

Les paniers d'achat, infos de login pour les commentaires, préférences utilisateur et autres infos personnelles sont stockés dans des cookies sous Wordpress.

 

Il te faudra gérer la mise en cache et les visites des moteurs de recherche pour les pages affichant une info personnelle, afin d'être en conformité avec le RPGD.

 

Je te suggère de lire cet article, expliquant simplement le mécanisme:

https://kinsta.com/fr/blog/cookies-sessions-php-wordpress/

 

Posté

Bonjour et merci beaucoup pour ta réponse. J'avais déjà lu cet article mais en vain pour ma compréhension. Suite à votre réponse, je viens de le relire et je ne comprends toujours pas comment utiliser moi-même les cookies générés par WP.

J'ai même parcouru tout le fichier pluggable.php où effectivement on voit comment sont construit les cookies mais lorsque je fais un "echo" j'ai soit rien soit le cookie s'affiche avec le hashage :


 

$cookie_name = AUTH_COOKIE;
echo cookie_name;

 

au lieu de AUTH_COOKIE, j'ai aussi essayé avec SECURE_AUTH_COOKIE, LOGGED_IN_COOKIE....

lorsque quelque chose apparait, c'est donc de ce style : 12f5b7f3999a9b999bbca999175fd799

 

J'ai vraiment beaucoup de mal à comprendre le fonctionnement des cookies sur WP. Si tu peux m'éclairer d'avantage ce serait très sympa.

Merci d'avance.

Posté

Peut-être avec

Citation

echo $cookie_name;

tu ne crois pas ?

 

Pour le reste, je ne suis pas un expert des cookies sous Wordpress.

 

Posté

Pour visualiser le contenu de  auth_cookie, logged_in_cookie ou secure_auth_cookie sous wordpress, tu peux t'inspirer de  cette fonction :

 

 
function wp_parse_auth_cookie( $cookie = '', $scheme = '' ) {
    if ( empty( $cookie ) ) {
        switch ( $scheme ) {
            case 'auth':
                $cookie_name = AUTH_COOKIE;
                break;
            case 'secure_auth':
                $cookie_name = SECURE_AUTH_COOKIE;
                break;
            case 'logged_in':
                $cookie_name = LOGGED_IN_COOKIE;
                break;
            default:
                if ( is_ssl() ) {
                    $cookie_name = SECURE_AUTH_COOKIE;
                    $scheme      = 'secure_auth';
                } else {
                    $cookie_name = AUTH_COOKIE;
                    $scheme      = 'auth';
                }
        }

        if ( empty( $_COOKIE[ $cookie_name ] ) ) {
            return false;
        }
        $cookie = $_COOKIE[ $cookie_name ];
    }

    $cookie_elements = explode( '|', $cookie );
    if ( count( $cookie_elements ) !== 4 ) {
        return false;
    }

    list( $username, $expiration, $token, $hmac ) = $cookie_elements;

    return compact( 'username', 'expiration', 'token', 'hmac', 'scheme' );
}
 

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...