• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Detectar si una instalación de WordPress usa un tema clásico o de bloques (FSE)

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 1837 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 1837 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. 😉

PHP WordPress

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes identificarte o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2023 · Código Genesis

¿Has olvidado tu contraseña?