Enfrentamos um problema frustrante em que os logins de usuários e os carrinhos de compras em um de nossos sites falhavam continuamente. O problema era algo que havíamos negligenciado: como nosso site estava gerenciando os cookies.
Lidar com configurações técnicas como cookies pode parecer intimidador, mas acertá-las é fundamental para uma experiência de usuário tranquila. Depois de resolvermos nossos próprios problemas com cookies, desenvolvemos um sistema direto que qualquer pessoa pode seguir.
Neste guia, compartilharemos os passos exatos que usamos para definir, obter e excluir cookies no WordPress. Detalharemos o processo para que você possa gerenciar os cookies do seu site com confiança.

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 funcionalidades ao seu site WordPress.
Aqui estão alguns casos de uso comuns para cookies:
- Armazenar e gerenciar as informações de login de um usuário
- Armazenar informações temporárias de sessão durante a visita de um usuário
- Lembrar itens do carrinho durante a visita de um usuário a uma loja de e-commerce
- Rastrear a atividade do usuário em um site para oferecer uma experiência personalizada
Embora os cookies sejam ferramentas poderosas para proprietários de sites, eles podem levantar preocupações com a privacidade. Práticas de marketing modernas, incluindo marketing por e-mail, growth hacking e publicidade digital, frequentemente usam cookies como beacons de rastreamento para coletar e compartilhar atividades do usuário em vários 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. Embora muitos sites simplesmente exibam um aviso básico, a verdadeira conformidade com o GDPR exige o gerenciamento ativo do consentimento de cookies e scripts de rastreamento.
WPConsent facilita a adição de um sistema de consentimento de cookies totalmente compatível ao seu site WordPress. Este plugin vai além das notificações básicas, bloqueando ativamente scripts de rastreamento até que os visitantes deem sua permissão.

Criar um banner de consentimento de cookies com o WPConsent é simples. Você pode escolher um modelo pré-fabricado, personalizar o design para combinar com seu site e deixar o plugin gerenciar automaticamente todo o consentimento do visitante para você.
Você pode aprender como fazer isso em seu próprio site em nosso guia sobre como adicionar um popup 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 logados 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ários.
No entanto, muitos plugins do WordPress em seu site também podem definir seus próprios cookies.
Por exemplo, OptinMonster permite que você exiba diferentes formulários de inscrição por e-mail para visitantes novos vs. recorrentes, e faz isso usando cookies.
Se você estiver usando serviços web externos em seu site, como Google Analytics ou Google AdSense, eles também podem 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 de Configurações.
Você pode fazer isso clicando no ícone de ‘3 pontos’ no canto superior direito e selecionando ‘Configurações’ ou digitando chrome://settings na barra de endereço.

Na página Configurações, clique em ‘Privacidade e segurança’ no menu do lado esquerdo.
Em seguida, em ‘Privacidade e segurança’, procure e clique em ‘Cookies de terceiros’.

Isso abrirá a página de configurações de cookies.
Em seguida, você precisa clicar na opção ‘Ver todos os dados e permissões do site’.

Na página seguinte, você verá uma lista de todos os cookies e dados do site armazenados no seu navegador por todos os sites que você visitou.
Você pode digitar o endereço de um site na caixa de pesquisa, e os dados armazenados por esse site serão exibidos.

Clicar em um único item mostrará 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 plugin de trechos de código como o WPCode. Se você nunca fez isso antes, consulte nosso guia sobre como copiar e colar trechos de código no WordPress.
Primeiro, usaremos a função setcookie() em PHP. Esta função aceita os seguintes parâmetros:
- Nome do cookie
- Valor do cookie
- Expire – opcional e define um período de tempo após o qual o cookie expira
- Path – opcional e usará a raiz do site por padrão
- Domain – opcional e usa o domínio do seu site por padrão
- Secure – opcional e transfere dados de cookie apenas via HTTPS se for verdadeiro
- httponly – opcional, e quando definido como true, o cookie só é acessível via HTTP e não pode ser usado por scripts
Agora, vamos adicionar um trecho de código ao seu site WordPress. Este código armazena o timestamp exato quando um usuário visitou seu site em um cookie:
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);
}
}
Você pode agora visitar seu site e verificar os cookies do seu navegador. Você encontrará um cookie com o nome wpb_visit_time.
Como Obter um Cookie e Usá-lo no WordPress
Agora que criamos este cookie que é armazenado no navegador do usuário por um ano, vamos ver como podemos usar essa informação em nosso site.
Se você souber o nome de um cookie, poderá chamá-lo facilmente em qualquer lugar em PHP usando a variável $_COOKIE[]. Vamos adicionar algum código que não apenas define o cookie, mas também o usa 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 dentro do código para mostrar o que cada parte faz. Este código usa as informações armazenadas no cookie e as exibe usando shortcode.
Você pode agora adicionar o shortcode [greet_me] em qualquer lugar do seu site, e ele mostrará quando um usuário visitou pela última vez.
Sinta-se à vontade para modificar o código para torná-lo mais útil para o seu site. Por exemplo, você pode exibir posts recentes para usuários que retornam e posts populares para novos usuários.
Excluindo 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 você está tentando excluir.
Vamos colocar este código em contexto usando o mesmo código de exemplo que usamos acima. Desta vez, vamos excluir um cookie e defini-lo 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, este código exclui o cookie assim que usamos as informações armazenadas dentro dele. Mais tarde, definimos o cookie novamente com as informações de tempo atualizadas.
Perguntas Frequentes Sobre Cookies no WordPress
Aqui estão as respostas para algumas das perguntas mais comuns sobre como definir, obter e excluir cookies no WordPress.
1. O que são cookies de site?
Cookies de site são pequenos arquivos de texto armazenados no navegador da web de um visitante. Eles são usados para salvar e recuperar informações para um site específico, como lembrar o status de login de um usuário, manter itens em um carrinho de compras ou personalizar sua experiência.
2. Os cookies do WordPress são ruins para o meu site?
Não, os cookies não são inerentemente ruins. Eles são essenciais para muitas funções principais do WordPress, como gerenciar logins de usuários e lembrar informações de comentaristas. No entanto, como eles podem rastrear a atividade do usuário, levantam preocupações com a privacidade, e é por isso que existem regulamentações como o GDPR.
3. Preciso exibir um aviso de consentimento de cookies no WordPress?
Se o seu site tem visitantes de países com leis de privacidade como o GDPR da União Europeia, então você é obrigado a obter o consentimento do usuário antes de armazenar a maioria dos tipos de cookies. Usar um plugin como o WPConsent é uma maneira fácil de garantir a conformidade.
4. Como posso ver quais cookies meu site está usando?
Você pode ver todos os cookies que um site usa diretamente nas ferramentas de desenvolvedor ou nas configurações do seu navegador. Por exemplo, no Google Chrome, você pode ir em Configurações » Privacidade e segurança » Cookies de terceiros e, em seguida, clicar em 'Ver todos os dados e permissões do site' para inspecionar os cookies de qualquer site que você visitou.
Recursos Adicionais sobre o Uso de Cookies com WordPress
Esperamos que este artigo tenha ajudado você a aprender como definir, obter e excluir facilmente cookies do WordPress. Você também pode querer ver outros guias relacionados ao uso de cookies no WordPress:
- Glossário: Cookies
- Como Usar Retargeting de Cookies no WordPress para Exibir Mensagens Personalizadas no Site
- Como Saber se o Seu Site WordPress Usa Cookies
- Como Adicionar um Popup de Cookies no WordPress para GDPR/CCPA
- Melhores Plugins de GDPR para WordPress para Melhorar a Conformidade
- Como Limpar o Cache do Navegador em Todos os Principais Navegadores (Maneira Rápida)
- Como Gerenciar e Excluir Transientes no WordPress (Do Jeito Fácil)
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.


Alex
Olá, não entendi se devo colocar o arquivo na pasta do tema no arquivo functions.php e salvá-lo
Comentários WPBeginner
Sim, o código mostrado neste guia poderia ir para o arquivo functions.php do tema, que está localizado na pasta do tema.
Dito isso, recomendamos usar o método deste guia em vez disso, pois é um pouco mais seguro: https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
Alan Brady
Um artigo muito útil e informativo, obrigado.
Descobri que apenas usar unset não parecia excluir o cookie, tive que definir o tempo de expiração do cookie para algum momento no passado, por exemplo:
setcookie(‘wpb_visit_time’, $visit_time, time()-1);
WPBeginner Support
Obrigado por compartilhar isso para aqueles que também podem encontrar esse problema.
Admin
Debbie Kurth
O problema é que, quando implemento um código como este, recebo um aviso de erro e o cookie falha, quando no WordPress.
Warning: Cannot modify header information – headers already sent by (output started
Como você contorna isso?
WPBeginner Support
Existem algumas razões possíveis para esse erro específico, recomendamos dar uma olhada em nosso artigo abaixo que aborda um pouco mais a fundo o erro e como resolvê-lo:
https://www.wpbeginner.com/wp-tutorials/how-to-fix-pluggable-php-file-errors-in-wordpress/
Admin
Pete
Como posso usar um cookie para restringir que usuários visitem uma página apenas uma vez.
Nigel
Obrigado pelo ótimo tutorial!
Um pequeno erro: No primeiro trecho de código, $wpb_visit_time deveria ser ‘wpb_visit_time’
WPBeginner Support
Thanks for catching that, we’ll be sure to update the code
Admin
Matt
Olá, parece que você tem um erro em seu código para o primeiro exemplo:
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); } }
Você especifica a variável como $visit_time, mas na função setcookie você chama $current_time.
Obrigado(a) pelo(s) guia(s), embora sejam super úteis.
WPBeginner Support
Thanks for pointing that out, we will be sure to update and fix that, glad our guides have been useful
Admin
Anastasia
Seus artigos são muito úteis, mas preciso entender muito bem os códigos, então quero saber,
Devo copiar e colar todo o código exibido aqui?
Devo substituir wbp_visit_time, wbp_cookies_tutorial pelo nome do meu site?
WPBeginner Support
Para entender como adicionar o código, você deve dar uma olhada em nosso artigo abaixo:
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
Você não precisa substituir os nomes pelo nome do seu site.
Admin
Brian
Não sei por que sempre que tento pesquisar meu site em qualquer mecanismo de busca, ele escreve "site não confiável".
O que há de errado? Como meu site pode ser confiável por todos os navegadores e mecanismos de busca?
WPBeginner Support
Você pode querer garantir que seu site esteja usando HTTPS e dar uma olhada em nosso guia abaixo:
https://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/
Admin
Geeby
Desculpe por ressuscitar este tópico, mas preciso de ajuda.
A primeira página do meu site pede aos clientes para selecionar sua região. Os produtos disponíveis diferirão dependendo de onde eles escolherem.
Não quero que eles tenham que re-selecionar essa localização toda vez que acessarem a página inicial.
Algum conselho?
WPBeginner Support
Você deve verificar com o suporte do seu plugin de eCommerce para ver se eles têm um método para definir isso para seus usuários.
Admin
Les
Ótimo artigo. Você disse para colocar o código no arquivo functions.php. Estou usando o WP Elementor, só preciso que os valores do cookie sejam exibidos quando um usuário acessa uma página específica. Este código pode ser adicionado em uma página específica? Quero criar o cookie com certos valores que vêm de um formulário, na primeira vez que o usuário preenche o formulário. Depois disso, na próxima vez que ele voltar a esta página, o formulário deverá ser pré-preenchido automaticamente a partir dos dados do cookie, isso reduz os campos que eles precisam preencher em uma visita de retorno.
WPBeginner Support
Para isso, você precisaria entrar em contato com o plugin de formulário que você está usando para ver se eles já têm um sistema configurado para isso.
Admin
Anthony Coffey
Você pode adicionar o código ao functions.php e usar a função do WordPress “is_page()” para adicionar lógica condicional ao seu snippet de código de cookie.
A função is_page() aceita o ID da página, slug ou nome/título. É bem fácil de usar, você pode ler mais sobre a função is_page() online no codex do WordPress.