Siempre tenía miedo de crear galletas PHP. Las cookies son una tecnología web extremadamente utilizada, que consiste en pequeños datos que viven en su dispositivo y recuerdan las cosas: por ejemplo, el último producto que navegó en Amazon o si ya está conectado a Gmail. Sin embargo, por más comunes que sean, las cookies siempre se han sentido como una pieza aterradora de arquitectura web, lo que supuse que sería doloroso y complejo de implementar. Luego había un proyecto de cliente que necesitaba cookies y adivina qué? Son fáciles de escribir, mucho más fáciles que, por ejemplo, hornear las galletas, que todavía me niego a aprender.
En este artículo, le presentaremos por qué y cómo usar cookies en WordPress. ¿Por qué usar cookies PHP? Hay momentos en que la creación de la cuenta de usuario es demasiado engorrosa para almacenar los datos persistentes del usuario. Las cookies pueden persistir los datos del usuario sin requerir autenticación. Los sitios web tienen muchos datos específicos del usuario. Es posible que un sitio quiera saber todo tipo de cosas para mejorar mi experiencia de usuario: mi lengua materna, la última vez que visité, la información en el formulario que envié antes y así sucesivamente. En muchos casos, estos datos deben persistir: debe durar entre visitas al sitio.
La forma más común en que WordPress usa para mantener los datos en el sitio de los visitantes es a través de cuentas de usuarios de WordPress. Este sistema está realmente completo, con todo tipo de roles de usuario, permisos, datos, metadatos, etc. Sin embargo, hay momentos en que es demasiado desagradable. Por defecto, les pide a los usuarios que creen una cuenta, completamente con, al menos, un nombre de usuario, un correo electrónico y contraseña, y luego se conecte a esa cuenta. Para almacenar solo un poco de datos (como, por ejemplo, una preferencia de lenguaje de usuario o una zona horaria), es mucho. Las cookies pueden persistir los datos del usuario sin requerir autenticación. El sistema de cookies incorporado de WordPress funciona a través de su sistema de usuario y eso no es lo que queremos. Así que aquí es de la vieja escuela, con PHP puro que incluimos en un complemento. ¡Una galleta de demostración de PHP aún no nos ha dicho su comida favorita! Características Esta demostración se hace cargo de la entrada del usuario y la guarda de manera persistente. Si regresa a la página en el mismo navegador durante una semana, continuará almacenando la última respuesta que dio. Como puede imaginar, esto sería excelente para mantener muchas cosas sobre los usuarios individuales, como los últimos elementos de lectura, su progreso a través de un curso de aprendizaje electrónico o lo que los productos lo han navegado, sin que tengan que crear una cuenta de usuario de WordPress .
Cómo funciona aquí es el código completo (también disponible en GitHub). No se sienta abrumado: lo desglosaremos en sus elementos más importantes, pero aquí está todo lo primero.
<? Php return ob_get_clean ();} Sobre los códigos cortos, la segunda mitad de este código, el comienzo de mostrar el valor y la forma de las cookies a través de códigos cortos, es importante, pero no es la parte que realmente queremos enseñar. Lo que hacemos aquí es crear dos códigos cortos de WordPress:
Un corto código que crea un formulario para permitir a los usuarios enviar información a las cookies.
Un formulario para mostrar información de cookies.
Tenga en cuenta que no necesita usuarios para enviar su información.Puede conectarse tan fácilmente como usted, por ejemplo, la hora del día en que accedieron por última vez al sitio.Para simplificar, sin embargo, nuestra cookie es enviada por el usuario.
Estos dos códigos cortos nos permiten alojar nuestro código demostrativo bastante simple en el editor de publicaciones de WordPress:
Si necesita obtener más información sobre cómo escribir códigos cortos de WordPress, consulte aquí una introducción general. Si desea obtener más información sobre el uso de ob_start () y ob_get_clean (), consulte el excelente tutorial de David sobre cómo impulsar los códigos cortos. Funciones de cookies Según los códigos cortos, permanecemos con las siguientes funciones: add_action ('init', 'wpcd_set_cookie', 1); function wpcd_set_cookie () {if (isset ($ _post ['fave_food')): $ cookie_value = sanitize_text_field ($ _post ['fave']); setcookie (wpcd_get_cookie_name (), $ cookie_value, time () (86400 * 999), "/"); // 86400 = 1 día // ahora actualiza para que los cambios de encabezado se capturen encabezado ("Actualizar: 0"); salida; Terminara si; } function wpcd_get_cookie_name () {return 'fave_food'; } function wpcd_get_cookie () {return $ _cookie [wpcd_get_cookie_name ()]; } function wpcd_is_cookied () {return isSet ($ _cookie [wpcd_get_cookie_name ()]); } Permítanme explicarlos, en un orden sensible: wpcd_get_cookie_name () Esto nos permite centralizar el nombre de Cookie-Fave_food-In One Place, para que sea fácil de cambiar si alguna vez lo queremos. Una forma simple de escribir el código seco (no se repita). Wpcd_is_cookied () Esta verificación si existe la cookie FAVE_FOOD, en dos pasos:

Toma el nombre de la cookie a través de wpcd_get_cookie_name ()

Se pregunta si existe en PHP $ _Cookie PHP Superglobal.
$ _Cookie es una serie de cookies que actualmente existen para la carga de página actual. Como superglobal, siempre es accesible en PHP, así como en otras variables familiares, como $ _post y $ _get (se utiliza para procesar formularios en HTML y PHP) .wpcd_get_cookie () Esta característica es similar a wpcd_is_cookied () ,,,,,,,,,,,,,,,,,0ctculando de Devuelve el valor de la cookie en sí, en lugar de si existe el valor de la cookie. Wpcd_set_cookie () Esta es la función que realmente establece la cookie. Esto es lo que hace, en orden:
Verifica si $ _post Superglobal tiene un elemento llamado FAVE_FOOD. Esto es cierto cuando alguien acaba de enviar el formulario de “comida favorita” que creé en la sección de códigos cortos del complemento.
Si tenemos un formulario enviado, lo desinfectamos y guardamos el resultado como la variable $ Cookie_Value.
Ahora estamos listos para configurar la cookie con la función PHP Setcookie ().
Cómo usar setcookie () setcookie () se hace cargo de varios argumentos. Su comprensión es todo lo que existe para comprender la función en sí. Los argumentos, en orden, son:
El nombre de la cookie, que obtenemos usando wpcd_get_cookie_name ().
El valor de la cookie que debemos tomar, que es $ Cookie_Value.
Mientras la cookie tome antes de expirar, expresada como una serie de segundos a partir de ahora. Decidí que la galleta debería vivir dentro de 999 días. Podemos obtener el tiempo en este momento con la función PHP Time (); Y debido a que hay 86,400 segundos en un día, este argumento toma el tiempo de valor () + 86400 * 999.
Donde la cookie será accesible. “/” lo hace accesible en todo el sitio WPShout.
Después de establecer la cookie … porque tanto $ _cookie como $ _post viven como encabezados HTTP, debemos actualizar la página para que aparezcan nuestros cambios a $ _cookie. Este es un encabezado (“actualizar: 0”); Hacer lo. Y dado que no queremos más procesamiento de PHP después de pedir que la página se actualice, llamamos a Salir para detener la ejecución posterior de PHP. Demosiblemente, hay una gran cantidad de código aquí, pero todas las tareas pesadas se realizan por dos funciones. : Setcookie () y tomando el valor de la cookie con $ _cookie [$ name], donde el nombre $ indica el nombre de la cookie como una cadena. . ¡Disfruta de las galletas PHP! Si ha entendido la demostración anterior, ahora está listo para crear datos persistentes para sus usuarios, sin tener que pasar por la experiencia completa del usuario de WordPress, una cosa muy útil que puede hacer. Si tiene alguna pregunta sobre la demostración, ¡no dude en preguntar y gracias por leer! Imagen de crédito: Richie Rich
Usando cookies PHP en WordPress
Tags Uso de cookies
homefinance blog