I cookie sono piccoli file che i siti web utilizzano per ricordare le informazioni su chi siamo. Utilizziamo i cookie sui nostri siti web per renderli più facili da usare e personalizzati.
Molti proprietari di siti web desiderano utilizzare i cookie, ma non sanno come iniziare. I cookie possono aiutare a ricordare le preferenze degli utenti, a mantenere gli accedi e persino a mostrare contenuti mirati.
In questa guida definitiva, vi mostreremo come impostare, ottenere ed eliminare i cookie di WordPress come un professionista.
Nota: questo è un tutorial avanzato. Richiede una conoscenza approfondita di HTML, CSS, siti WordPress e PHP.
Cosa sono i cookie?
I cookie sono file di testo semplici che vengono creati e memorizzati nei browser degli utenti quando visitano un sito web. È possibile utilizzare i cookie per aggiungere diverse funzionalità al proprio sito web WordPress.
Ecco alcuni casi d’uso comuni dei cookie:
- Memorizzazione e gestione delle informazioni di accesso di un utente
- Memorizzazione di informazioni temporanee sulla sessione durante la visita dell’utente
- Memorizzazione degli articoli del carrello durante la visita dell’utente a un negozio di e-commerce
- Tracciamento dell’attività dell’utente su un sito per offrire un’esperienza utente personalizzata
Come si può notare, i cookie sono uno strumento molto utile per i proprietari di siti web, ma possono anche essere un po’ invasivi. Le recenti tendenze dell’email marketing, del growth hacking e del marketing online nel suo complesso consentono ai siti web di impostare cookie che agiscono come un faro e possono essere utilizzati per salvare e persino condividere l’attività degli utenti tra i vari siti web.
Per questo motivo l’Unione Europea ha emanato la legge sui cookie, che impone ai proprietari dei siti web di dichiarare l’utilizzo dei cookie per la memorizzazione delle informazioni.
Potete imparare a farlo sul vostro sito nella nostra guida su come aggiungere un popup per i cookie per il GDPR/CCPA.
Come vengono utilizzati i cookie in un tipico sito web WordPress
Per impostazione predefinita, WordPress utilizza i cookie per gestire le sessioni degli utenti connessi e l’autenticazione e per ricordare il nome e l’indirizzo e-mail di un utente che compila un modulo di commento.
Tuttavia, anche molti plugin di WordPress presenti sul vostro sito web possono impostare i propri cookie.
Ad esempio, OptinMonster consente di mostrare moduli di optin email diversi ai nuovi visitatori rispetto a quelli che ritornano, e lo fa utilizzando i cookie.
Se sul vostro sito web utilizzate servizi web esterni, come Google Analytics o Google AdSense, anche questi potrebbero impostare cookie di terze parti sul vostro sito web.
È possibile visualizzare tutti i cookie dei siti web nelle impostazioni del browser. Ad esempio, in Google Chrome, è necessario iniziare aprendo la pagina delle impostazioni.
È possibile farlo facendo clic sull’icona con i “3 puntini” in alto a destra e selezionando “Impostazioni” o digitando chrome://settings
nella barra degli indirizzi.
Nella pagina delle impostazioni, è necessario cercare “Impostazioni dei contenuti”.
In “Impostazioni dei contenuti” è necessario fare clic su “Cookie”.
Si aprirà la pagina delle impostazioni dei cookie.
Successivamente, è necessario fare clic sull’opzione “Vedi tutti i cookie e i dati del sito”.
Nella pagina successiva viene visualizzato un elenco di tutti i cookie e dei dati del sito memorizzati sul browser da tutti i siti web visitati.
È possibile digitare l’indirizzo di un sito web nella casella di ricerca e verranno visualizzati i dati memorizzati da quel sito.
Facendo clic su un singolo elemento, vengono visualizzati ulteriori dettagli sui singoli cookie e sul loro contenuto.
Come impostare un cookie in WordPress
Per seguire questo tutorial, dovrete aggiungere del codice al file functions.php del vostro tema o utilizzare un plugin per gli snippet di codice come WPCode. Se non l’avete mai fatto prima, date un’occhiata alla nostra guida su come copiare e incollare snippet di codice in WordPress.
Per prima cosa, utilizzeremo la funzione setcookie()
di PHP. Questa funzione accetta i seguenti parametri:
- Nome del cookie
- Valore del cookie
- Scadenza – opzionale e imposta un periodo di tempo dopo il quale il cookie scade.
- Percorso: facoltativo e utilizzerà la radice del sito per impostazione predefinita.
- Dominio – opzionale e utilizza il dominio del vostro sito web per impostazione predefinita.
- Sicuro – opzionale e trasferisce i dati dei cookie tramite HTTPS solo se vero
- httponly – opzionale; se impostato su true, il cookie è accessibile solo via HTTP e non può essere utilizzato dagli script.
Ora aggiungiamo uno snippet di codice al vostro sito WordPress. Questo codice memorizza in un cookie l’ora esatta in cui un utente ha visitato il vostro sito web:
function wpb_cookies_tutorial1() {
$visit_time = date('F j, Y g:i a');
if(!isset($_COOKIE[wpb_visit_time])) {
// set a cookie for 1 year
setcookie('wpb_visit_time', $visit_time, time()+31556926);
}
}
Ora è possibile visitare il sito web e controllare i cookie del browser. Troverete un cookie con il nome wpb_visit_time
.
Come ottenere un cookie e utilizzarlo in WordPress
Ora che abbiamo creato questo cookie che viene memorizzato nel browser dell’utente per un anno, vediamo come possiamo utilizzare queste informazioni sul nostro sito web.
Se si conosce il nome di un cookie, è possibile richiamarlo facilmente in qualsiasi punto del PHP utilizzando la variabile $_COOKIE[]
. Aggiungiamo un po’ di codice che non solo imposta il cookie, ma lo utilizza anche per fare qualcosa sul vostro sito web:
function wpb_cookies_tutorial2() {
// Time of user's visit
$visit_time = date('F j, Y g:i a');
// Check if cookie is already set
if(isset($_COOKIE['wpb_visit_time'])) {
// Do this if cookie is set
function visitor_greeting() {
// Use information stored in the cookie
$lastvisit = $_COOKIE['wpb_visit_time'];
$string .= 'You last visited our website '. $lastvisit .'. Check out whats new';
return $string;
}
} else {
// Do this if the cookie doesn't exist
function visitor_greeting() {
$string .= 'New here? Check out these resources...' ;
return $string;
}
// Set the cookie
setcookie('wpb_visit_time', $visit_time, time()+31556926);
}
// Add a shortcode
add_shortcode('greet_me', 'visitor_greeting');
}
add_action('init', 'wpb_cookies_tutorial2');
Abbiamo commentato il codice per mostrare cosa fa ogni parte. Questo codice utilizza le informazioni memorizzate nel cookie e le invia tramite shortcode.
Ora è possibile aggiungere lo shortcode [greet_me]
in qualsiasi punto del sito web, per visualizzare l’ultima visita di un utente.
Sentitevi liberi di modificare il codice per renderlo più utile al vostro sito web. Ad esempio, è possibile mostrare i post recenti agli utenti che ritornano e i post più popolari ai nuovi utenti.
Eliminazione di un cookie in WordPress
Finora abbiamo imparato come impostare un cookie e come utilizzarlo successivamente sul vostro sito web. Ora vediamo come eliminare i cookie.
Per cancellare un cookie, è necessario aggiungere la seguente riga al codice:
unset($_COOKIE['wpb_visit_time']);
Non dimenticate di sostituire wpb_visit_time
con il nome del cookie che state cercando di eliminare.
Inseriamo questo codice in un contesto che utilizza lo stesso codice di esempio che abbiamo usato in precedenza. Questa volta, cancelleremo un cookie e lo imposteremo nuovamente con nuove informazioni:
function wpb_cookies_tutorial2() {
// Time of user's visit
$visit_time = date('F j, Y g:i a');
// Check if cookie is already set
if(isset($_COOKIE['wpb_visit_time'])) {
// Do this if cookie is set
function visitor_greeting() {
// Use information stored in the cookie
$lastvisit = $_COOKIE['wpb_visit_time'];
$string .= 'You last visited our website '. $lastvisit .'. Check out whats new';
// Delete the old cookie so that we can set it again with updated time
unset($_COOKIE['wpb_visit_time']);
return $string;
}
} else {
// Do this if the cookie doesn't exist
function visitor_greeting() {
$string .= 'New here? Check out these resources...' ;
return $string;
}
}
add_shortcode('greet_me', 'visitor_greeting');
// Set or Reset the cookie
setcookie('wpb_visit_time', $visit_time, time()+31556926);
}
add_action('init', 'wpb_cookies_tutorial2');
Come si può notare, questo codice cancella il cookie una volta utilizzate le informazioni in esso contenute. In seguito, si imposta nuovamente il cookie con le informazioni aggiornate sull’ora.
Guide di esperti sull’uso dei cookie con WordPress
Speriamo che questo articolo vi abbia aiutato a capire come impostare, ottenere ed eliminare facilmente i cookie di WordPress. Potreste anche voler consultare altre guide sull’uso dei cookie in WordPress:
- Glossario: Cookie
- Come utilizzare i cookie di retargeting in WordPress per mostrare messaggi personalizzati sul sito
- Come sapere se il vostro sito web WordPress utilizza i cookie
- Come aggiungere un popup sui cookie in WordPress per il GDPR/CCPA
- Come cancellare la cache del browser in tutti i principali browser (in modo rapido)
- Come gestire ed eliminare i transitori in WordPress (in modo semplice)
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Alan Brady
A very useful and informative article, thank you.
I found that just using unset didn’t seem to delete the cookie, I had to set the cookie expiry time to sometime in the past, e.g.:
setcookie(‘wpb_visit_time’, $visit_time, time()-1);
WPBeginner Support
Thank you for sharing that for those who may run into that issue as well.
Admin
Debbie Kurth
Problem is, when I implement code like this, I get an warning error and the cookie fails, when in wordpress.
Warning: Cannot modify header information – headers already sent by (output started
How do you go around that?
WPBeginner Support
There are a few possible reasons for that specific error, we would recommend taking a look at our article below that goes a bit more in-depth on the error and how to resolve it:
https://www.wpbeginner.com/wp-tutorials/how-to-fix-pluggable-php-file-errors-in-wordpress/
Admin
Pete
How can I use a cookie to restrict users visit a page just once.
Nigel
Thanks for the awesome tutorial!
A small mistake: In the first code snippet $wpb_visit_time should be ‘wpb_visit_time’
WPBeginner Support
Thanks for catching that, we’ll be sure to update the code
Admin
Matt
Hi there, you seem to have an error in your code for the first example:
function wpb_cookies_tutorial1() {
$visit_time = date(‘F j, Y g:i a’);
if(!isset($_COOKIE[$wpb_visit_time])) {
// set a cookie for 1 year
setcookie(‘wpb_visit_time’, $current_time, time()+31556926);
}
}
You specify the variable as $visit_time but in the setcookie function you call $current_time.
Thank for the guide(s) though they are super useful.
WPBeginner Support
Thanks for pointing that out, we will be sure to update and fix that, glad our guides have been useful
Admin
Anastasia
Your articles are really helpful but I need to understand the codings very well so I want to know,
Do I have to copy and paste all the code displayed here?
Do I replace wbp_visit_time, wbp_cookies_tutorial with the name of my site?
WPBeginner Support
For understanding how to add the code, you would want to take a look at our article below:
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
You do not need to replace the names with the name of your site.
Admin
Brian
I don’t know why anytime I try to search my website using any search engines it writes website not trusted
What’s wrong? How can My website be trusted by all browsers and search engines?
WPBeginner Support
You may want to ensure your site is using HTTPS and take a look at our guide below:
https://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/
Admin
Geeby
Apologies for resurrecting this thread but i need some help.
The first page of my site asks customers to select their region. The products available will differ depending on where they choose.
I don’t want them to have to re-select this location every time they go to the homepage.
Any advice?
WPBeginner Support
You would want to check with the support for your eCommerce plugin for if they have a method to set that for your users.
Admin
Les
Great article. You said to put the code in the functions.php file. I am using WP Elementor, I only need the cookie values pulled up when a user goes to a certain page. Can this code be added on a specific page? I want to create the cookie with certain values that come from a form, the first time the user completes the form. After that, the next time they come back to this page, the form should auto populate from the cookie data., this reduces the fields they need to complete on a return visit.
WPBeginner Support
For that, you would want to reach out to the form plugin you are using for if they have a system for that already set up.
Admin
Anthony Coffey
You can add the code to functions.php and use the WordPress function “is_page()” to add conditional logic to your cookie code snippet.
The is_page() function accepts either page ID, slug or name/title. It’s pretty easy to use, you can read more about the is_page() function online in the WordPress codex.