Descubre en este tutorial cómo detectar si una instalación tiene un tema de bloques activo y asegurarte de ejecutar una función (o cualquier código) solo en webs que usen ese tipo de tema.
Desde hace meses y durante los siguientes años los temas de bloques (FSE) van a convivir con los temas clásicos (con plantillas .php).
Esto no supone ningún problema, pero si estás creando un plugin o código a medida y quieres ejecutarlo solo si es un tipo de tema debes de tenerlo en cuenta para no causar errores en instalaciones con una versión de WordPress que tengan el otro tipo de temas.
Por ejemplo, si vas a querer interaccionar con elementos de la cabecera como logotipo, descripción de sitio, menús de navegación…, va ser muy distinto si el tema es clásico o de bloques, ya que en este último todos ellos serán bloques.
Así que lo recomendable es comprobar si hay un tema de bloques activo donde se va a ejecutar el código y usar un condicional para que solo lo haga si lo hay.
En este tutorial vas a aprender cómo hacerlo:
Código para ejecutar diferentes códigos dependiendo del tipo de tema
Para detectar si hay un tema de bloques activo puedes utilizar la función wp_is_block_theme()
.
Este sería un ejemplo sencillo de cómo mostrar la versión de WordPress usando un shortcode.
Añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Este es un simple ejemplo en el que detectas si es un tema de bloques o no y te lo muestra. Pero esta no es la parte importante.
La idea es utilizar esa información para hacer que la ejecución de un código esté condicionada por el tipo de tema del sitio en cuestión.
La función podría ser algo así:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Como puedes observar, primero detectas si hay un tema de bloques activo y luego ejecutas un código u otro de forma condicional.
Para adecuar estos ejemplos a tu conveniencia solo tienes que añadir el código que quieres que se ejecute dependiendo del tipo de tema.
Conclusión
Ahora ya sabes cómo detectar si una instalación de WordPress tiene un tema de bloques activo (o no) y ejecutar diferentes códigos dependiendo del tipo de tema.
¿Alguna duda? Te leo en los comentarios.
Y si quieres darme una sugerencia para próximos tutoriales, déjamela en el formulario de contacto. Ventajas de ser suscriptor. 😉