Nueva función wp_get_environment_type en WordPress

Tiempo de lectura aprox: 2 minutos, 22 segundos

Nueva función wp_get_environment_type en WordPress.

Este es un post casi de reivindicación personal. Me explico, hace mucho tiempo que vengo abogando por la necesidad de tener entornos separados (Migrar un sitio de WordPress).

El contar con un entorno de producción aislado y un entorno de desarrollo que permita hacer cambios y pruebas sin afectar a la máquina de producción, creo que es fundamental para trabajar de forma segura y controlada.

A partir de la versión 5.5 de WordPress, aparecerá la función «wp_get_environment_type()», que permitirá un cambio en esa dirección.

Función wp_get_environment_type en WordPress

Esta función permitirá que puedan mantenerse entornos distintos y diferenciados en una misma máquina con WordPress (versión 5.5 o superior).

Esta función recupera el tipo de entorno actual de un sitio.

Esto permite a los autores de Plugins y Temas diferenciar más fácilmente cómo manejan funcionalidades específicas entre sitios de producción y desarrollo de manera estandarizada.

Naturalmente, pasará un tiempo hasta que los desarrolladores hagan uso de esta función en el día-a-día.

¿Cómo funciona?

Por defecto, al llamar a esta función, el retorno será: «production», pero también puede tener los valores de: «staging» y «development».

Un ejemplo de cómo puede ser usada esta función en un Plugin o Tema:

switch ( wp_get_environment_type() ) {
    case 'development': // entorno de desarrollo
        hacer_nada();
        break;
     
    case 'staging': // entorno de preproducción
        hacer_cosas_de_preproducción();
        break;
     
    default: // entorno de producción
        hacer_cosas_de_producción();
        break;
}

Por supuesto, se debe tener cuidado con este tipo de funcionalidad para probar todas las rutas posibles.

Ten en cuenta que los propietarios y los anfitriones del sitio siempre son libres de agregar más tipos según crean necesario.

Pero se puede indicar, en las instrucciones, los tipos de escenarios que se manejan.

Determinando el tipo de entorno

Existen tres formas en las que determinar el tipo de entorno que queremos manejar, se procesan en el siguiente orden con cada opción secuencial anulando cualquier valor anterior: la variable de entorno «PHP: WP_ENVIRONMENT_TYPE», la constante «WP_ENVIRONMENT_TYPE» y el filtro «wp_get_environment_type».

Para cualquiera de las tres, si el valor del entorno no está en la lista de entornos permitidos, se devolverá el valor de «production» predeterminado.

La fórmula más sencilla, sin duda, es la de definir una constante:

define( 'WP_ENVIRONMENT_TYPE', 'staging' );

Es importante recordar que cuando la llamada a la función wp_get_environment_type() devuelve el valor «development», WP_DEBUG se establecerá en verdadero («true») si no está definido en el archivo wp-config.php del sitio.

Estableciendo los valores válidos para la función

De forma similar a cómo se realiza la configuración del tipo de entorno, hay tres formas de especificar los tipos de entorno aprobados.

Se procesan de la misma manera similar a la configuración del tipo anterior con cada opción secuencial anulando cualquier valor anterior.

La variable de entorno PHP: WP_ENVIRONMENT_TYPES, la constante WP_ENVIRONMENT_TYPES y el filtro wp_environment_types.

Si un sitio quiere definir, además de los valores ya existentes, el valor «pruebas», debe tener un código como:

define(
    'WP_ENVIRONMENT_TYPES',
    array(
        'production',
        'staging',
        'development',
        'pruebas',
    )
);

Ten en cuenta que tanto el filtro wp_get_environment_type como wp_environment_types se ejecutan demasiado temprano para poder ser usados en Plugins, por lo que no deben ser usados en sitios web, por ejemplo, modificando directamente el objeto global $wp_filter.

Conclusión

Aunque esta funcionalidad no está aún activa ni se implementará de inmediato, se hace la llamada a todos los que desean desarrollar Temas o Plugins, para que tengan en cuanta estos nuevos entornos y actúen en consecuencia.

Los tres posibles estados devueltos por la función wp_get_environment_type(), determinan tres entornos distintos: «production», que es el entorno normal de producción; «development» o desarrollo, en el que se supone que se están depurando errores, por lo que la constante WP_DEBUG se establece en verdadero («true») para que aparezcan los mensajes de error; «staging» en el que está en estado de preproducción, algo así como un «ensayo general» con vestuario y todo.

Si te interesa ver cómo está construido el código, visita: el Core de WordPress.

Recuerda, #QuédateEnCasa, #UsaMascarilla, juega, experimenta y, sobre todo, ¡divertirte!


¡Gracias por leernos!


¡Tus comentarios y preguntas nos ayudan a mejorar, por favor comenta!

2 comentarios sobre “Nueva función wp_get_environment_type en WordPress

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.    Más información
Privacidad