Como Definir, Obter e Excluir Cookies do WordPress (Como um Profissional)

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.

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 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.

Popup de cookies criado com WPConsent

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.

Configurações do site no Google Chrome

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’.

Seção de cookies nas configurações do Chrome

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’.

Ver todos os cookies e dados 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.

Ver cookies do site

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:

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.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

20 CommentsLeave a Reply

  1. 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);

  2. 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?

  3. Obrigado pelo ótimo tutorial!

    Um pequeno erro: No primeiro trecho de código, $wpb_visit_time deveria ser ‘wpb_visit_time’

  4. 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.

  5. 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?

  6. 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?

  7. 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?

    • 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

  8. Ó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.

    • 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

    • 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.

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.