Cookies são pequenos arquivos que os sites usam para lembrar informações sobre os visitantes. Usamos cookies em nossos próprios sites para torná-los mais fáceis de usar e personalizados.
Muitos proprietários de sites desejam usar cookies, mas não sabem ao certo como começar. Os cookies podem ajudá-lo a lembrar as preferências do usuário, manter as pessoas conectadas e até mesmo exibir conteúdo direcionado.
Neste guia definitivo, mostraremos a você como definir, obter e excluir cookies do WordPress como um profissional.
Observação: Este é um tutorial avançado. Ele exige que você tenha um conhecimento proficiente de HTML, CSS, sites WordPress e PHP.
O que são cookies?
Cookies são arquivos de texto simples que são criados e armazenados nos navegadores dos usuários quando eles visitam um site. Você pode usar cookies para adicionar diferentes recursos ao seu site WordPress.
Aqui estão alguns casos de uso comuns de cookies:
- Armazenar e gerenciar as informações de login de um usuário
- Armazenamento de informações temporárias da sessão durante a visita de um usuário
- Lembrar itens do carrinho durante a visita de um usuário a uma loja de comércio eletrônico
- Rastreamento da atividade do usuário em um site para oferecer uma experiência de usuário personalizada
Como você pode ver, os cookies são uma ferramenta muito útil para os proprietários de sites, mas também podem ser um pouco invasivos. As tendências recentes de marketing por e-mail, growth hacking e marketing on-line como um todo permitem que os sites definam cookies que funcionam como um sinalizador e podem ser usados para salvar e até mesmo compartilhar a atividade do usuário entre sites.
É por isso que a União Europeia promulgou a Lei de Cookies da UE, que exige que os proprietários de sites declarem que usam cookies para armazenar informações.
Você pode aprender como fazer isso em seu próprio site em nosso guia sobre como adicionar um pop-up de cookies para GDPR/CCPA.
Como os cookies são usados em um site WordPress típico
Por padrão, o WordPress usa cookies para gerenciar sessões de usuários conectados e autenticação e para lembrar o nome e o endereço de e-mail de um usuário se ele preencher um formulário de comentário.
No entanto, muitos plug-ins do WordPress em seu site também podem definir seus próprios cookies.
Por exemplo, o OptinMonster permite que você mostre formulários de opt-in de e-mail diferentes para visitantes novos e visitantes que retornam, e faz isso usando cookies.
Se você estiver usando serviços externos da Web em seu site, como o Google Analytics ou o Google AdSense, eles também poderão definir cookies de terceiros em seu site.
Você pode visualizar todos os cookies do site nas configurações do seu navegador. Por exemplo, no Google Chrome, você precisa começar abrindo a página Configurações.
Para isso, clique no ícone de “três pontos” no canto superior direito e selecione “Configurações” ou digite chrome://settings
na barra de endereços.
Na página Configurações, você precisa procurar por “Configurações de conteúdo”.
Em “Content settings” (Configurações de conteúdo), você precisará clicar em “Cookies”.
Isso abrirá a página de configurações de cookies.
Em seguida, você precisa clicar na opção “Ver todos os cookies e dados do site”.
Na próxima página, você verá uma lista de todos os cookies e dados do site armazenados no navegador por todos os sites que você visitou.
Você pode digitar o endereço de um site na caixa de pesquisa e serão exibidos os dados armazenados por esse site.
Ao clicar em um único item, você verá mais detalhes sobre cookies individuais e seus conteúdos.
Como definir um cookie no WordPress
Para seguir este tutorial, você precisará adicionar código ao arquivo functions.php do seu tema ou usar um plug-in de snippet de código, como o WPCode. Se nunca tiver feito isso antes, dê uma olhada em nosso guia sobre como copiar e colar trechos de código no WordPress.
Primeiro, usaremos a função setcookie()
no PHP. Essa função aceita os seguintes parâmetros:
- Nome do cookie
- Valor do cookie
- Expire (Expirar) – opcional e define um período de tempo após o qual o cookie expira
- Caminho – opcional e usará a raiz do site por padrão
- Domain (Domínio) – opcional e usa o domínio de seu site por padrão
- Secure (Seguro) – opcional, e só transfere dados de cookies via HTTPS se for verdadeiro
- httponly – opcional e, quando definido como true, o cookie só pode ser acessado via HTTP e não pode ser usado por scripts
Agora, vamos adicionar um trecho de código ao seu site WordPress. Esse código armazena em um cookie o carimbo de data e hora exato em que um usuário visitou seu site:
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);
}
}
Agora você pode visitar seu site e verificar os cookies do navegador. Você encontrará um cookie com o nome wpb_visit_time
.
Como obter um cookie e usá-lo no WordPress
Agora que criamos esse cookie que é armazenado no navegador do usuário por um ano, vamos ver como podemos usar essas informações em nosso site.
Se você souber o nome de um cookie, poderá chamá-lo facilmente em qualquer lugar do PHP usando a variável $_COOKIE[]
. Vamos adicionar um código que não apenas define o cookie, mas também o utiliza para fazer algo em seu site:
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');
Comentamos o código para mostrar a você o que cada parte faz. Esse código usa as informações armazenadas no cookie e as envia usando o shortcode.
Agora você pode adicionar o shortcode [greet_me]
em qualquer lugar do seu site, e ele mostrará quando um usuário visitou o site pela última vez.
Sinta-se à vontade para modificar o código para torná-lo mais útil para seu site. Por exemplo, você pode mostrar as postagens recentes para os usuários que retornam e as postagens populares para os novos usuários.
Exclusão de um cookie no WordPress
Até agora, aprendemos como definir um cookie e usá-lo posteriormente em seu site. Agora, vamos dar uma olhada em como excluir cookies.
Para excluir um cookie, você precisa adicionar a seguinte linha ao seu código:
unset($_COOKIE['wpb_visit_time']);
Não se esqueça de substituir wpb_visit_time
pelo nome do cookie que está tentando excluir.
Vamos colocar esse código em algum contexto usando o mesmo código de exemplo que usamos acima. Desta vez, excluiremos um cookie e o definiremos novamente com novas informações:
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');
Como você pode ver, esse código exclui o cookie depois que usamos as informações armazenadas nele. Posteriormente, definimos o cookie novamente com as informações de horário atualizadas.
Guias especializados sobre o uso de cookies no WordPress
Esperamos que este artigo tenha ajudado você a aprender como definir, obter e excluir facilmente os cookies do WordPress. Talvez você também queira ver alguns outros guias relacionados ao uso de cookies no WordPress:
- Glossário: Cookies
- Como usar o redirecionamento de cookies no WordPress para exibir mensagens personalizadas no site
- Como saber se seu site WordPress usa cookies
- Como adicionar um pop-up de cookies no WordPress para GDPR/CCPA
- Como limpar o cache do navegador em todos os principais navegadores (de forma rápida)
- Como gerenciar e excluir transientes no WordPress (a maneira mais fácil)
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no 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.
Administrador
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/
Administrador
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
Administrador
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
Administrador
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.
Administrador
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/
Administrador
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.
Administrador
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.
Administrador
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.