Une fois connecté à l'administrateur WP, je peux actualiser le serveur frontal et voir la valeur de mon cookie générée sous le nom "hello world". Si je me déconnecte de l'administrateur, puis actualise mon serveur frontal, la valeur du cookie est désormais "rien", comme le montre mon exemple de fonction.
Cela ne se produit que lorsque je consulte le site Web en ligne. Lorsque je teste localement, je peux lire le cookie sans être connecté à l'administrateur WP. Des idées?
Voici ma fonction de test pour configurer le cookie
function test_cookie() {
setcookie( 'test-cookie', 'hello world', time()+1209600, '/');
}
add_action( 'init', 'test_cookie' );
Voici la fonction permettant de sortir la valeur du cookie sur la page
function output_test_cookie() {
if ( isset( $_COOKIE['test-cookie'] ) )
echo $_COOKIE["test-cookie"]; // should output hello world, but only does this when logged into WP admin
else
echo 'nothing';
}
add_action( 'template_redirect', 'output_test_cookie' );
Il semble que j'avais besoin d'utiliser un crochet plus tôt. L'utilisation des crochets d'action wp
ou init
me permet de lire la valeur du cookie sans me connecter d'abord à l'administrateur.
function output_test_cookie() {
if ( isset( $_COOKIE['test-cookie'] ) )
echo $_COOKIE["test-cookie"];
}
add_action( 'wp', 'output_test_cookie' ); // wp or init is needed