Una vez nos enfrentamos a un problema frustrante donde los inicios de sesión de usuarios y los carritos de compra en uno de nuestros sitios fallaban constantemente. El culpable oculto fue un simple descuido en cómo nuestro sitio manejaba las cookies.
Lidiar con configuraciones técnicas como las cookies puede ser intimidante para los principiantes. Sin embargo, hacerlo bien es el secreto para tener un sitio web rápido y fácil de usar.
Después de corregir nuestros propios errores, desarrollamos un sistema sencillo que cualquiera puede seguir. Te guiaremos a través de los métodos exactos que usamos para manejar las cookies de forma segura.
En esta guía, te mostraremos cómo establecer, obtener y eliminar cookies en WordPress fácilmente. Veamos los pasos exactos para que puedas administrar los datos de tu sitio con confianza.

Estos son los temas que cubrimos en este artículo:
- ¿Qué son las cookies?
- Cómo se utilizan las cookies en un sitio web típico de WordPress
- Cómo establecer una cookie en WordPress
- Cómo obtener una cookie y usarla en WordPress
- Eliminar una cookie en WordPress
- Preguntas Frecuentes Sobre las Cookies de WordPress
- Recursos adicionales sobre el uso de cookies con WordPress
Nota: Aunque este tutorial involucra algo de código personalizado, no te preocupes. Te guiaremos en cada paso. Recomendamos usar un plugin de fragmentos de código para que no necesites ser un experto en PHP para seguirlo.
¿Qué son las cookies?
Las cookies son archivos de texto sin formato que se crean y almacenan en los navegadores de los usuarios cuando visitan un sitio web. Puedes usar cookies para agregar diferentes funciones a tu sitio web de WordPress.
Estos son algunos casos de uso comunes para las cookies:
- Almacenar y gestionar la información de inicio de sesión de un usuario
- Almacenar información temporal de sesión durante la visita de un usuario
- Recordar los artículos del carrito durante la visita de un usuario a una tienda de comercio electrónico
- Rastrear la actividad del usuario en un sitio para ofrecer una experiencia de usuario personalizada
Si bien las cookies son herramientas potentes para los propietarios de sitios web, pueden generar preocupaciones sobre la privacidad. Las prácticas de marketing modernas, incluido el marketing por correo electrónico, el growth hacking y la publicidad digital, a menudo utilizan cookies como balizas de seguimiento para recopilar y compartir la actividad del usuario en varios sitios web.
Debido a que las cookies pueden rastrear lo que hacen los usuarios, muchos países tienen leyes de privacidad estrictas. Por ejemplo, leyes como el GDPR requieren que pidas permiso a los visitantes antes de guardar la mayoría de los tipos de cookies en sus dispositivos.
WPConsent facilita la adición de un sistema de consentimiento de cookies totalmente compatible a tu sitio de WordPress. Este plugin va más allá de las notificaciones básicas al bloquear activamente los scripts de seguimiento hasta que los visitantes den su permiso.

Crear un banner de consentimiento de cookies con WPConsent es sencillo. Puede elegir una plantilla prediseñada, personalizar el diseño para que coincida con su sitio y dejar que el plugin gestione automáticamente todo el consentimiento del visitante por usted.
Puedes aprender cómo hacer esto en tu propio sitio en nuestra guía sobre cómo agregar un popup de cookies para GDPR/CCPA.
Cómo se utilizan las cookies en un sitio web típico de WordPress
Por defecto, WordPress utiliza cookies para gestionar las sesiones de los usuarios registrados y la autenticación, y para recordar el nombre y la dirección de correo electrónico de un usuario si este completa un formulario de comentarios.
Sin embargo, muchos plugins de WordPress en tu sitio web también pueden establecer sus propias cookies.
Por ejemplo, OptinMonster te permite mostrar diferentes formularios de suscripción por correo electrónico a visitantes nuevos y recurrentes, y lo hace utilizando cookies.
Si estás utilizando servicios web externos en tu sitio web, como Google Analytics o Google AdSense, es posible que también establezcan cookies de terceros en tu sitio web.
Puedes ver todas las cookies del sitio web en la configuración de tu navegador. Por ejemplo, en Google Chrome, necesitas empezar abriendo la página de Configuración.
Puedes hacer esto haciendo clic en el ícono de ‘3 puntos’ en la parte superior derecha y seleccionando ‘Configuración’ o escribiendo chrome://settings en la barra de direcciones.

En la página de Configuración, haz clic en 'Privacidad y seguridad' en el menú de la izquierda.
A continuación, en 'Privacidad y seguridad', busca y haz clic en 'Cookies de terceros'.

Esto abrirá la página de configuración de cookies.
A continuación, debes hacer clic en la opción ‘Ver todos los datos y permisos del sitio’.

En la siguiente página, verás una lista de todas las cookies y datos del sitio almacenados en tu navegador por todos los sitios web que has visitado.
Puedes escribir la dirección de un sitio web en el cuadro de búsqueda y se te mostrarán los datos almacenados por ese sitio web.

Al hacer clic en un solo elemento, se te mostrarán más detalles sobre las cookies individuales y su contenido.
Cómo establecer una cookie en WordPress
Para seguir este tutorial, necesitarás agregar código al archivo functions.php de tu tema o usar un plugin de fragmentos de código como WPCode. Si no has hecho esto antes, por favor, consulta nuestra guía sobre cómo copiar y pegar fragmentos de código en WordPress.
Primero, usaremos la función setcookie() en PHP. Esta función acepta los siguientes parámetros:
- Nombre de la cookie
- Valor de la cookie
- Expirar – opcional. Establece un límite de tiempo para que la cookie permanezca activa antes de eliminarse a sí misma.
- Ruta – opcional. Usará la ruta raíz de tu sitio por defecto.
- Dominio – opcional. Usa el nombre de dominio principal de tu sitio web por defecto.
- Seguro – opcional. Cuando se establece en verdadero, esto asegura que la cookie solo funcione si tu sitio web tiene un certificado SSL activo (HTTPS).
- httponly – opcional. Cuando se establece en verdadero, la cookie se oculta de JavaScript, lo que ayuda a proteger tu sitio de scripts maliciosos.
Ahora, agreguemos un fragmento de código a tu sitio de WordPress. Este código almacena la marca de tiempo exacta cuando un usuario visitó tu sitio web en una 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');
En este código, establecemos el tiempo de expiración usando time() + 31556926. La función time() representa el momento exacto actual, y el número grande es exactamente cuántos segundos hay en un año (60 por 60 por 24 por 365.25).
Ahora puedes visitar tu sitio web y luego revisar las cookies de tu navegador. Encontrarás una cookie con el nombre wpb_visit_time.
Cómo obtener una cookie y usarla en WordPress
Ahora que hemos creado esta cookie que se almacena en el navegador del usuario durante un año, veamos cómo podemos usar esta información en nuestro sitio web.
Si conoces el nombre de una cookie, puedes llamarla fácilmente en cualquier lugar de PHP usando la variable $_COOKIE[]. Debido a que las cookies se envían a través de encabezados HTTP, tenemos que usar el hook init para establecer la cookie antes de que se cargue cualquier HTML en la página.
Agreguemos algo de código que no solo establezca la cookie, sino que también cree un shortcode para mostrar un mensaje en tu sitio web:
// 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' );
Hemos comentado dentro del código para mostrarte qué hace cada parte. Este código utiliza la información almacenada en la cookie y la muestra usando shortcode.
Ahora puedes agregar el shortcode [greet_me] en cualquier lugar de tu sitio web, y mostrará cuándo fue la última visita de un usuario.
Consejo Pro: Si el shortcode no parece actualizar la hora, tu plugin de caché de WordPress podría estar almacenando en caché una versión antigua y estática de la página. Es posible que necesites excluir la página que contiene este shortcode de la configuración de tu caché para verlo actualizarse en tiempo real.
Siéntete libre de modificar el código para hacerlo más útil para tu sitio web. Por ejemplo, puedes mostrar publicaciones recientes a los usuarios recurrentes y publicaciones populares a los usuarios nuevos.
Eliminar una cookie en WordPress
Hasta ahora, hemos aprendido cómo establecer una cookie y usarla más tarde en tu sitio web. Ahora, veamos cómo eliminar cookies.
Para eliminar una cookie del navegador de un usuario, necesitas usar la función setcookie() y establecer la fecha de expiración en el pasado. Puedes agregar la siguiente línea a tu código:
setcookie( 'wpb_visit_time', '', time() - 3600 );
No olvides reemplazar wpb_visit_time con el nombre de la cookie que intentas eliminar.
Pongamos este código en contexto usando el mismo código de ejemplo que usamos anteriormente. Esta vez, eliminaremos una cookie y la volveremos a establecer con nueva información:
// 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 puedes ver, este código elimina la cookie específica del navegador que creamos al establecer el temporizador en el pasado.
No te preocupes, esto solo elimina la cookie específica de tu sitio y no borra la caché o el historial completo del navegador del usuario. Luego, volvemos a establecer la cookie con la información de tiempo recién actualizada.
Pro Tip: Si intentas eliminar una cookie y no funciona, asegúrate de que los parámetros de ruta y dominio coincidan exactamente con los que usaste cuando creaste la cookie por primera vez.
Preguntas Frecuentes Sobre las Cookies de WordPress
Aquí están las respuestas a algunas de las preguntas más comunes sobre cómo establecer, obtener y eliminar cookies en WordPress.
1. ¿Qué son las cookies de un sitio web?
Las cookies de un sitio web son pequeños archivos de texto que se almacenan en el navegador web de un visitante. Se utilizan para guardar y recuperar información para un sitio web específico, como recordar el estado de inicio de sesión de un usuario, mantener artículos en un carrito de compras o personalizar su experiencia.
2. ¿Son las cookies de WordPress perjudiciales para mi sitio?
No, las cookies no son intrínsecamente malas. Son esenciales para muchas funciones principales de WordPress, como la gestión de inicios de sesión de usuarios y el recuerdo de la información de los comentaristas. Sin embargo, debido a que pueden rastrear la actividad del usuario, generan preocupaciones sobre la privacidad, razón por la cual existen regulaciones como el GDPR.
3. ¿Necesito mostrar un aviso de consentimiento de cookies en WordPress?
Si tu sitio web tiene visitantes de países con leyes de privacidad como el GDPR de la Unión Europea, entonces se te exige obtener el consentimiento del usuario antes de almacenar la mayoría de los tipos de cookies. Usar un plugin como WPConsent es una forma fácil de garantizar el cumplimiento.
4. ¿Cómo puedo ver qué cookies está utilizando mi sitio web?
Puedes ver todas las cookies que utiliza un sitio web directamente en las herramientas de desarrollador o en la configuración de tu navegador. Por ejemplo, en Google Chrome, puedes ir a Configuración » Privacidad y seguridad » Cookies de terceros y luego hacer clic en 'Ver todos los datos y permisos del sitio' para inspeccionar las cookies de cualquier sitio que hayas visitado.
Recursos adicionales sobre el uso de cookies con WordPress
Esperamos que este artículo te haya ayudado a aprender cómo establecer, obtener y eliminar fácilmente cookies en WordPress. También es posible que desees ver otras guías relacionadas con el uso de cookies en WordPress:
- Glosario: Cookies
- Cómo usar el retargeting de cookies en WordPress para mostrar mensajes personalizados en el sitio
- Cómo saber si tu sitio web de WordPress utiliza cookies
- Cómo agregar un aviso de cookies en WordPress para GDPR/CCPA
- Los mejores plugins de WordPress para GDPR para mejorar el cumplimiento
- Cómo borrar la caché de tu navegador en todos los navegadores principales (forma rápida)
- Cómo administrar y eliminar transitorios en WordPress (La forma fácil)
Si te gustó este artículo, suscríbete a nuestro Canal de YouTube para ver tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.
Alex
Hola, no entendí si debía poner el archivo en la carpeta del tema en el archivo functions.php y guardarlo
Comentarios de WPBeginner
Sí, el código que se muestra en esta guía podría ir en el archivo functions.php del tema, que se encuentra en la carpeta del tema.
Dicho esto, recomendamos usar el método de esta guía en su lugar, ya que es un poco más seguro: https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
Alan Brady
Un artículo muy útil e informativo, gracias.
Descubrí que simplemente usar unset no parecía eliminar la cookie, tuve que establecer la fecha de caducidad de la cookie en algún momento del pasado, por ejemplo:
setcookie(‘wpb_visit_time’, $visit_time, time()-1);
Soporte de WPBeginner
Gracias por compartir eso para aquellos que puedan encontrarse con ese problema también.
Administrador
Debbie Kurth
El problema es que, cuando implemento código como este, obtengo un error de advertencia y la cookie falla, cuando estoy en WordPress.
Advertencia: No se puede modificar la información de encabezado – ya se enviaron encabezados (salida iniciada
¿Cómo evitas eso?
Soporte de WPBeginner
Hay algunas razones posibles para ese error específico. Te recomendamos que eches un vistazo a nuestro artículo a continuación que profundiza un poco más en el error y cómo resolverlo:
https://www.wpbeginner.com/wp-tutorials/how-to-fix-pluggable-php-file-errors-in-wordpress/
Administrador
Pete
¿Cómo puedo usar una cookie para restringir que los usuarios visiten una página solo una vez?
Nigel
¡Gracias por el excelente tutorial!
Un pequeño error: En el primer fragmento de código, $wpb_visit_time debería ser 'wpb_visit_time'
Soporte de WPBeginner
Thanks for catching that, we’ll be sure to update the code
Administrador
Matt
Hola, parece que tienes un error en tu código para el primer ejemplo:
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); } }
Especificas la variable como $visit_time pero en la función setcookie llamas a $current_time.
Gracias por la(s) guía(s), aunque son súper útiles.
Soporte de WPBeginner
Thanks for pointing that out, we will be sure to update and fix that, glad our guides have been useful
Administrador
Anastasia
Tus artículos son realmente útiles, pero necesito entender muy bien los códigos, así que quiero saber, ¿Tengo que copiar y pegar todo el código que se muestra aquí? ¿Reemplazo wbp_visit_time, wbp_cookies_tutorial con el nombre de mi sitio?
Soporte de WPBeginner
Para entender cómo agregar el código, deberías echar un vistazo a nuestro artículo a continuación:
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
No necesitas reemplazar los nombres con el nombre de tu sitio.
Administrador
Brian
No sé por qué cada vez que intento buscar mi sitio web en cualquier motor de búsqueda, aparece "sitio web no confiable" ¿Qué está mal? ¿Cómo puede mi sitio web ser confiable para todos los navegadores y motores de búsqueda?
Soporte de WPBeginner
Es posible que desees asegurarte de que tu sitio esté usando HTTPS y echar un vistazo a nuestra guía a continuación:
https://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/
Administrador
Geeby
Disculpas por revivir este hilo, pero necesito ayuda. La primera página de mi sitio pide a los clientes que seleccionen su región. Los productos disponibles diferirán según dónde elijan. No quiero que tengan que volver a seleccionar esta ubicación cada vez que visiten la página de inicio. ¿Algún consejo?
Soporte de WPBeginner
Deberías consultar con el soporte de tu plugin de comercio electrónico para ver si tienen un método para configurar eso para tus usuarios.
Administrador
Les
Gran artículo. Dijiste que pusiera el código en el archivo functions.php. Estoy usando WP Elementor, solo necesito que los valores de las cookies se muestren cuando un usuario va a una página específica. ¿Se puede agregar este código en una página específica? Quiero crear la cookie con ciertos valores que provienen de un formulario, la primera vez que el usuario completa el formulario. Después de eso, la próxima vez que regrese a esta página, el formulario debería autocompletarse con los datos de la cookie, esto reduce los campos que necesitan completar en una visita de regreso.
Soporte de WPBeginner
Para eso, deberías contactar al plugin de formularios que estás usando para ver si ya tienen un sistema configurado para eso.
Administrador
Anthony Coffey
Puedes agregar el código a functions.php y usar la función de WordPress “is_page()” para agregar lógica condicional a tu fragmento de código de cookie.
La función is_page() acepta el ID de la página, el slug o el nombre/título. Es bastante fácil de usar, puedes leer más sobre la función is_page() en línea en el codex de WordPress.