Définition de cookies personnalisés dans Wordpress
-
-
Ah,j'ai réalisé queje devais accrocher cela dansinit ().SOLUTION: J'ai créé unefonction dansfunctions.php qui définiraitet vérifierait le cookie.pour que celafonctionne correctement,après avoir défini lafonction,en dehors de lafonction,appelez ceci: add_action ('init','function-name');Ah, realized I needed to hook this into the init(). SOLUTION: I created a function in functions.php that would set and check the cookie. for this to work properly, after defining the function, outside the function call this: add_action('init', 'function-name');
-
Vous êtes autorisé à répondre à votrepropre question ...You are allowed to answer your own question...
- 4
- 2011-07-02
- 40XUserNotFound
-
Merci lesgars -je ne savaispas qu'il y avait unespace Wordpress.Etmercipour lapointepourme répondre :) APprécié,+1s.Thanks guys -- i did not realize there was a Wordpress area. And thanks for the tip to answer myself :) APpreciated, +1s.
- 0
- 2011-07-05
- Atticus
-
Assurez-vous d'utiliser les constantes de cookiesprécuitesproposéespar WordPress,consultez cet articlepourplus d'informations sur lafaçon de définir,d'obteniret de supprimer correctement les cookies https://benmarshall.me/setting-cookies-in-wordpress/Make sure you use the pre-baked cookie constants WordPress offers, check this article out for more info on how to set, get & delete cookies properly https://benmarshall.me/setting-cookies-in-wordpress/
- 0
- 2020-07-31
- Ben Marshall
-
4 réponses
- votes
-
- 2011-07-05
Ah,j'ai réalisé queje devais accrocher ceci dans
init()
.SOLUTION:j'ai créé unefonction dansfunctions.php qui définiraitet vérifierait le cookie.pour que celafonctionne correctement,après avoir défini lafonction,en dehors de lafonction,appelez ceci:
add_action('init', 'function-name');
Ah, realized I needed to hook this into the
init()
.SOLUTION: I created a function in functions.php that would set and check the cookie. for this to work properly, after defining the function, outside the function call this:
add_action('init', 'function-name');
-
- 2012-06-16
1 - Vouspouvez vérifier les cookieset faire votre redirectionen utilisant des hooks qui sont appelés avanttoute sortie comme le hook 'init':
<?php // Hook the function "redirect()" on to the "init" action add_action('init', 'redirect'); // redirect() may redirect the user depending on the cookies he has function redirect(){ /* CODE */ } ?>
2 - Lameilleurefaçon de définir des cookies serait d'utiliser le hook 'init' comme ceci:
<?php add_action('init', 'my_setcookie'); // my_setcookie() set the cookie on the domain and directory WP is installed on function my_setcookie(){ $path = parse_url(get_option('siteurl'), PHP_URL_PATH); $host = parse_url(get_option('siteurl'), PHP_URL_HOST); $expiry = strtotime('+1 month'); setcookie('my_cookie_name_1', 'my_cookie_value_1', $expiry, $path, $host); /* more cookies */ setcookie('my_cookie_name_2', 'my_cookie_value_2', $expiry, $path, $host); } ?>
Ceciestplus cohérent,si vous avez unblog sur www.example.com/blog ,le (s) coockie (s)ne serontpas disponibles sur
- www.example.com
- www.example.com/store
- example.com
- www2.example.com
- ...
Mise àjour
vous devriez égalementpouvoir utiliser les constantes COOKIE_PATHet COOKIEDOMAINplutôt que de les déterminer vous-même,ce queje viens de remarquer dans la réponse d'Andre R Kohl - drzaus
1 - You can check for cookies and do your redirect using hooks that are called before any output like the 'init' hook:
<?php // Hook the function "redirect()" on to the "init" action add_action('init', 'redirect'); // redirect() may redirect the user depending on the cookies he has function redirect(){ /* CODE */ } ?>
2 - The best way to set cookies would be using the 'init' hook like this:
<?php add_action('init', 'my_setcookie'); // my_setcookie() set the cookie on the domain and directory WP is installed on function my_setcookie(){ $path = parse_url(get_option('siteurl'), PHP_URL_PATH); $host = parse_url(get_option('siteurl'), PHP_URL_HOST); $expiry = strtotime('+1 month'); setcookie('my_cookie_name_1', 'my_cookie_value_1', $expiry, $path, $host); /* more cookies */ setcookie('my_cookie_name_2', 'my_cookie_value_2', $expiry, $path, $host); } ?>
This is more consistent, if you have a blog at www.example.com/blog, the coockie(s) will not be available at
- www.example.com
- www.example.com/store
- example.com
- www2.example.com
- ...
Update
you should also be able to use the COOKIE_PATH and COOKIEDOMAIN constants rather than figuring them out yourself, which I just noticed in Andre R Kohl's answer – drzaus
-
Comment vousmettezplusieurs variables,parexemple Firstname,LastName,Random1,Random2 au lieu de simplement la variable «my_cookie_1».?How you you put multiple varibles, for example Firstname, LastName, Random1, Random2 instead of just the 'my_cookie_1' variable.?
- 0
- 2013-10-27
- Damainman
-
Ajoutez simplementplus de `setcookie ()`Just add more `setcookie()`
- 1
- 2013-10-27
- Nabil Kadimi
-
Oh,je ne savaispas que les cookiesne contenaient qu'une seule variablepar cookie.Existe-t-il unmoyen de définirplusieurs cookies sans avoirbesoin de l'heureet du code URL ci-dessus afin que cela représentemoins de code?Seraient-ilsmis dans une variable?Oh, I didn't know cookies only hold one variable per cookie. Is there a way to set multiple cookies without needing to have the time and url code above so that it amounts to less code? Would they be put into a variable?
- 0
- 2013-10-27
- Damainman
-
vous devriez égalementpouvoir utiliser les constantes [`COOKIEPATH`et` COOKIEDOMAIN`] (https://codex.wordpress.org/Editing_wp-config.php#Additional_Defined_Constants)plutôt que de lestrouver vous-même,ce queje viens de remarquer dans [Réponse d'André R Kohl] (http://wordpress.stackexchange.com/a/141764/13122)you should also be able to use the [`COOKIEPATH` and `COOKIEDOMAIN` constants](https://codex.wordpress.org/Editing_wp-config.php#Additional_Defined_Constants) rather than figuring them out yourself, which I just noticed in [Andre R Kohl's answer](http://wordpress.stackexchange.com/a/141764/13122)
- 0
- 2015-12-11
- drzaus
-
correction: [`COOKIE_DOMAIN`] (https://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain)correction: [`COOKIE_DOMAIN`](https://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain)
- 0
- 2015-12-11
- drzaus
-
- 2014-04-19
Vous devriezprobablement utiliser les constantes
COOIKEPATH
etCOOKIE_DOMAIN
,existantes depuis WP 3.0setcookie("your_cookie", $your_value, time()+3600, COOKIEPATH, COOKIE_DOMAIN);
You probably should use the constants
COOIKEPATH
andCOOKIE_DOMAIN
, existing since WP 3.0setcookie("your_cookie", $your_value, time()+3600, COOKIEPATH, COOKIE_DOMAIN);
-
- 2016-05-27
Cetteméthode afonctionné:
add_action( 'init', 'function-to-setcookie' ); function function-to-setcookie(){ //use condition here , in which page you eant to set cookie //choose a page where you want the cookie to be set $pageurl = get_option('siteurl').'/set-cookie-page'; // use a function to get current page url and use condition //to match it with the desired page where you want to set cookie if ( $pageurl === current_page_url() ) { setcookie( 'cookie_name', 'cookie_value', $expiryTime, $cookiepath, $siteurl ); } }
This way worked :
add_action( 'init', 'function-to-setcookie' ); function function-to-setcookie(){ //use condition here , in which page you eant to set cookie //choose a page where you want the cookie to be set $pageurl = get_option('siteurl').'/set-cookie-page'; // use a function to get current page url and use condition //to match it with the desired page where you want to set cookie if ( $pageurl === current_page_url() ) { setcookie( 'cookie_name', 'cookie_value', $expiryTime, $cookiepath, $siteurl ); } }
-
Veuillez corriger lamiseen forme de votre code.Please fix your code formatting.
- 1
- 2016-05-27
- Jevuska
-
Unpetit contenu sur la sourceest égalementtrès utile.Also a small content about the source is really helpful.
- 0
- 2016-05-27
- bueltge
-
Lestirets dans lesnoms defonctionsne fonctionneront certainementpas.Dashes in function names definitely won't work.
- 1
- 2020-04-10
- alpipego
J'essaie de définir des cookiespour rediriger les utilisateurs qui reviennent vers unepage spécifique demon site Wordpress.
J'aimerais quelques conseils sur ces 2 choses:
setcookie('cookie_name', 'cookie_value', time()+4000);
ne semblepasenregistrer de cookies surmon système.