Funcion para determinar si la categoria tiene hijos

Autor: Àngel Julián
php code
function flowtitude_has_child_categories() { $current_object = get_queried_object(); // Verifica si estamos en un término de taxonomía válido if ($current_object instanceof WP_Term && taxonomy_exists('category')) { $child_categories = get_terms(array( 'taxonomy' => 'category', // Taxonomía a comprobar 'child_of' => $current_object->term_id, // Comprueba si tiene hijos 'hide_empty' => false // Muestra todas las categorías, incluso vacías )); return !empty($child_categories) ? 1 : 0; } return 0; // Devuelve 0 si no hay subcategorías o no es un término válido }

Esta función permite determinar si la categoría actual dentro de una taxonomía jerárquica (como «Categorías» en WordPress) tiene subcategorías. Su principal utilidad es saber si estamos en la última categoría de la jerarquía o si hay niveles inferiores.

🛠 Cómo funciona la función

  1. Obtiene el objeto de la consulta actual usando get_queried_object(), que devuelve el término de la taxonomía si estamos en un archivo de categoría.
  2. Verifica que el objeto pertenece a una taxonomía existente (en este caso, 'category' por defecto, pero puede cambiarse).
  3. Obtiene las subcategorías del término actual mediante get_terms(), filtrando por 'child_of' => $term_id'.
  4. Devuelve 1 si existen subcategorías o 0 si no las hay.

🚀 Uso en Bricks Builder

Si quieres ocultar o mostrar elementos en función de si una categoría tiene subcategorías, puedes utilizarlo en el Dynamic Data de Bricks dentro de un condicional:

echo:flowtitude_has_child_categories()

Y luego usar la condición "Igual a" con el valor 1 o 0.