Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress

Construyendo una Página de Bienvenida para su Producto WordPress: WP Transients API

by
Length:ShortLanguages:
This post is part of a series called Building a Welcome Page for Your WordPress Product.
Building a Welcome Page for Your WordPress Product: Introduction
Building a Welcome Page for Your WordPress Product: Code Part 1

Spanish (Español) translation by Rodney Martinez (you can also view the original English article)

Cuando se trata de construir una aplicación web con WordPress, sus poderosas APIs proporcionan una estupenda oferta de ayuda. Añadiendo o sacando cualquier dato con las opciones de la API que no es gran cosa. Pero que, algunas veces necesitamos para guardar de forma temporal datos con tiempo de espiración.

WordPress ofrece una intuitiva cache por medio de Transients para hacer solamente eso, por ejemplo; almacenar datos temporales con un vencimiento de tiempo.

De acuerdo al Codex de WordPress:

La Transients API es muy similar a la Options API, sin embargo, con la función vencimiento de tiempo agregada, la cual simplifica el proceso de usar la tabla de base de datos wp_options para almacenar temporalmente información cacheada.

En el alcance de esta serie, los transients brindan una forma eficiente de redireccionar usuarios a una página de bienvenida cuando activan un plugin a través del almacenamiento de datos temporales.

En este artículo, 

Transients API

Transients nos proporcionan formas para el almacenamiento temporal de información siempre que un nombre personalizado (par de valores-claves) y un tiempo de caducidad. Una vez que el calendario esté definido, está listo, el transients finaliza y es eliminado. Estos transients mejoran el rendimiento y la velocidad de la aplicación web en general.

Sin embargo, aparece una pregunta: ¿el tiempo de caducidad es la única razón para usar WP Transient API?

¡La respuesta es no! A pesar del hecho de que la Opciones API sirve para el mismo propósito de almacenamiento,  la limpieza y la recuperación de datos, éste no puede brindar el mejor rendimiento posible con grandes conjuntos de datos.

Con el calendario añadido, los transients se convierten en la manera más apropiada de almacenamiento temporal. Para asegurar una menor cantidad de consultas web, los transients tienen la capacidad de almacenar datos en la memoria rápida, por ejemplo, Memcached, en lugar de la tradicional base de datos de WordPress. Además de notar que los Transients son esencialmente aceleradores por medio de plugins cache, donde Options API no lo son. Tal y como mencione en el codex.

Un plugin Memcached, por ejemplo, haría que WordPress almacene los valores transient en la memoria rápida en lugar de la base de datos. Por esta razón, los transients deberían ser utilizados para almacenar cualquier dato que espera expirar, o que podría expirar en cualquier momento. Además, que nunca se debería de asumir que los transients estaran en la base de datos, ya que no pueden ser almacenados ahí.

Por lo tanto, mientras requiera una funcionalidad que expire o se elimine después de un lapso de tiempo en particular, use transientes en lugar de options.

Usando Transients

Los transients trabajan con una interfaz increíblemente sencilla. Usted puede realizar tres funciones básicas con ellas:

  • crear/actualizar un transient por medio de la funciónn set_transient().
  • recuperar un transient por medio de la función get_transient().
  • eliminar un transient por medio de la función delete_transient().

Estas tres operaciones le pueden ayudar a acelerar el rendimiento de su sitio web.

1. Crear/Actualizar un Transient

Use la función set_transient() para crear o actualizar cualquier transient. La función ocupa tres parámetros.

  • Key: (de tipo String) Nombre de un transient. Debe ser de 172 caracteres o menos, de longitud.
  • Value: (de tipo mixed) Es el dato que necesita ser almacenado. Puede ser una variable PHP o cualquier objeto arreglo.
  • Expiration: (de tipo int) El tiempo máximo hasta el vencimiento, en segundos. El valor por defecto es 0 (sin vencimiento).

Point of Ponder: La fecha de caducidad que usted configura es la cantidad de tiempo máxima para la cual un transient será almacenado. Después de ese tiempo, el transient será eliminado. Pero también puede ser eliminado antes de tiempo. Desde esta parte de la cache, puede ser eliminado por el usuario antes de ese tiempo. Por lo tanto, recuerde siempre el tiempo de vencimiento como la cantidad máxima de tiempo para la vida del transient con sólo la garantía que será eliminado después de eso.

Los primeros dos parámetros son key-value y son obligatorios, aunque el tercer parámetro, el cual define el tiempo máximo de caducidad  es opcional.

Un ejemplo práctico de cómo llamar a ésta función es de la siguiente manera:

Tiempo Constante en Transients

En el ejemplo anterior, agregue 60 segundos al tercer parámetro, el cual define el tiempo de caducidad después del cual el transient es eliminado. De acuerdo al ejemplo anterior, el objeto _welcom_redirect_wpw, solamente puede tener una edad máxima de 60 segundos.

En WordPress 3.5, varias constantes fueron introducidas para transmitir el tiempo con facilidad. Éstas constantes hacen que el código sea más comprehensivo y preciso. Aquí está la lista:

2. Extrayendo un Transient

Después de almacenar un valor por medio de la función set_transient(), usted puede recuperar el valor llamando a la función get_transient().

Tome un solo parámetro, la key (por ejemplo, el nombre) del transient $transient, y devuelva el valor (de tipo mixed) del transient. 

El formato estándar es:

En el caso de nuestro ejemplo, el valor es buscado por medio de:

¿Bastante sencillo? Sin embargo, ¿ocurrirá si el transient no existe o ha expirado? Si ese es el caso, entonces la función get_transient() devuelve una valor false.

Recomiendo que use el operador de identidad (===) cuando obtenga el valor del transient para probar si éste es falso o no.

$a === $b Idéntico TRUE si $a es igual a $b, y si son del mismo tipo.

3. Eliminando el Transient

Pueden existir situaciones cuando usted podría eliminar el transients antes de que éstos expiren. La función delete_transient() lo ayudará con eso. Su formato es igual al de la función get_transient().

Éste toma un solo parámetro, la key (por ejemplo, el nombre) del transient, $transient y elimina el transient permanentemente.

Aquí está el formato general:

En nuestro caso, podemos eliminarlo así:

Los Usos de los Transients

Los transients pueden ser utilizados para almacenar algo en la memoria cache, desde el tipo más básico de datos para un widget completo. Desde su publicación, los transient han sido utilizados en diferentes objetos web. Estos son algunos de los empleos prácticos de los transients:

  • Por supuesto, usted puede usarlos en una página de bienvenida de su plugin, el cual es el objetivo de esta serie.
  • Puede usarlos en un widget sidebar, el cual enumera los datos como los comentarios de un blog, posts, etc.
  • Puede acelerar los menús de navegación de WordPress con transients.
  • Puede depositar en el cache una pestaña cloud con transients.

En conclusión.

Hemos terminado con los principios básicos de la Transients API de WordPress. En los próximos dos artículos, voy a construir una página de bienvenida para un plugin WordPress. Haré algo más significativo y práctico.

Finalmente, puede recoger todos mis cursos y tutoriales de mi página de perfil y puede seguirme en mi blog y/o dirigirse a mi cuenta en Twitter @mrahmadawais donde escribo acerca de flujos de desarrollo en el contexto de WordPress.

Como siempre, no dude en dejar preguntas o comentarios abajo, intentaré responder cada uno de ellos.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.