Nós já enfrentamos um problema frustrante onde os logins de usuários e os carrinhos de compras em um de nossos sites continuavam falhando. O culpado oculto foi uma simples falha na forma como nosso site gerenciava os cookies.
Lidar com configurações técnicas como cookies pode parecer intimidante para iniciantes. No entanto, acertar isso é o segredo para um site rápido e amigável.
Após corrigirmos nossos próprios erros, desenvolvemos um sistema direto que qualquer um pode seguir. Vamos guiá-lo pelos métodos exatos que usamos para gerenciar cookies com segurança.
Neste guia, mostraremos como definir, obter e excluir cookies no WordPress facilmente. Vamos ver os passos exatos para que você possa gerenciar os dados do seu site com confiança.

Aqui estão os tópicos que cobrimos neste artigo:
Observação: Embora este tutorial envolva algum código personalizado, não se preocupe. Vamos guiá-lo em cada etapa. Recomendamos o uso de um plugin de trechos de código para que você não precise ser um especialista em PHP para acompanhar.
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 modernas de marketing, 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.
Como os cookies podem rastrear o que os usuários fazem, muitos países têm leis de privacidade rigorosas. Por exemplo, leis como o GDPR exigem que você peça permissão aos visitantes antes de salvar a maioria dos tipos de cookies em seus dispositivos.
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 os 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 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 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ê mostre diferentes formulários de opt-in de 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, por favor, dê uma olhada em 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
- Expira – opcional. Define um limite de tempo para o cookie permanecer ativo antes de se autoexcluir.
- Caminho – opcional. Ele usará o caminho raiz do seu site por padrão.
- Domínio – opcional. Ele usa o nome de domínio principal do seu site por padrão.
- Seguro – opcional. Quando definido como true, isso garante que o cookie só funcione se o seu site tiver um certificado SSL ativo (HTTPS).
- httponly – opcional. Quando definido como true, o cookie fica oculto do JavaScript, o que ajuda a proteger seu site contra scripts maliciosos.
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);
}
}
add_action('init', 'wpb_cookies_tutorial1');
Neste código, definimos o tempo de expiração usando time() + 31556926. A função time() representa o momento exato atual, e o número grande é exatamente quantos segundos há em um ano (60 vezes 60 vezes 24 vezes 365,25).
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[]. Como os cookies são enviados por meio de cabeçalhos HTTP, precisamos usar o hook init para definir o cookie antes que qualquer HTML seja carregado na página.
Vamos adicionar um código que não apenas define o cookie, mas também cria um shortcode para exibir uma mensagem em seu site:
// 1. Set the cookie during WordPress init
function wpb_set_visit_cookie() {
if ( ! isset( $_COOKIE['wpb_visit_time'] ) ) {
$visit_time = date( 'F j, Y g:i a' );
// Set a cookie for 1 year
setcookie( 'wpb_visit_time', $visit_time, time() + 31556926 );
}
}
add_action( 'init', 'wpb_set_visit_cookie' );
// 2. Create the shortcode to display the message
function wpb_visitor_greeting_shortcode() {
if ( isset( $_COOKIE['wpb_visit_time'] ) ) {
// Always escape cookie data for security!
$lastvisit = esc_html( $_COOKIE['wpb_visit_time'] );
$message = 'You last visited our website on ' . $lastvisit . '. Check out whats new!';
} else {
$message = 'New here? Check out these resources...';
}
return $message;
}
add_shortcode( 'greet_me', 'wpb_visitor_greeting_shortcode' );
Comentamos o 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.
Dica Pro: Se o shortcode não parecer atualizar o tempo, seu plugin de cache do WordPress pode estar armazenando em cache uma versão antiga e estática da página. Talvez seja necessário excluir a página que contém este shortcode das configurações de cache para vê-lo atualizar em tempo real.
Sinta-se à vontade para modificar o código para torná-lo mais útil para o seu site. Por exemplo, você pode mostrar posts recentes para usuários recorrentes 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 do navegador de um usuário, você precisa usar a função setcookie() e definir a data de expiração para o passado. Você pode adicionar a seguinte linha ao seu código:
setcookie( 'wpb_visit_time', '', time() - 3600 );
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:
// 1. Manage the cookie (Read old, Delete, Set new)
function wpb_update_visit_cookie() {
$current_time = date( 'F j, Y g:i a' );
// Check if cookie is already set
if ( isset( $_COOKIE['wpb_visit_time'] ) ) {
// Save the old time so our shortcode can still display it on this page load
$GLOBALS['last_visit'] = $_COOKIE['wpb_visit_time'];
// Delete the old browser cookie by setting the time to the past
setcookie( 'wpb_visit_time', '', time() - 3600 );
}
// Set the cookie again with the newly updated time
setcookie( 'wpb_visit_time', $current_time, time() + 31556926 );
}
add_action( 'init', 'wpb_update_visit_cookie' );
// 2. Create the shortcode to display the message
function wpb_greeting_shortcode() {
// Look for the saved global variable first
if ( isset( $GLOBALS['last_visit'] ) ) {
$lastvisit = esc_html( $GLOBALS['last_visit'] );
$message = 'You last visited our website on ' . $lastvisit . '. Check out whats new!';
} else {
$message = 'New here? Check out these resources...';
}
return $message;
}
add_shortcode( 'greet_me', 'wpb_greeting_shortcode' );
Como você pode ver, este código exclui o cookie específico do navegador que criamos definindo o temporizador para o passado.
Não se preocupe, isso remove apenas o cookie específico do seu site e não limpa todo o cache ou histórico do navegador do usuário. Em seguida, definimos o cookie novamente com as informações de tempo recém-atualizadas.
Dica profissional: Se você está tentando excluir um cookie e ele não está funcionando, certifique-se de que os parâmetros de caminho e domínio correspondam exatamente aos que você usou ao criar o cookie pela primeira vez!
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 regulamentações como o GDPR existem.
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, 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 neste guia em vez disso, pois é um pouco mais seguro: https://014.leahstevensyj.workers.dev/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 o erro com um pouco mais de profundidade e como resolvê-lo:
https://014.leahstevensyj.workers.dev/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://014.leahstevensyj.workers.dev/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://014.leahstevensyj.workers.dev/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.