[Function] Current Term Has Children

A user asks:

I’m working on an archive template for WooCommerce products.

I’m trying to hide a section if there are no child categories but I cannot figure out how to set the conditions to do this.

Anyone else know what term or dynamic data to use to get this to work?

We can define a custom function that uses get_term_children() to return true or false, then use it with Bricks’ Dynamic data condition to render a Section (or any element) only if the current term has children.

Add this in child theme’s functions.php or a code snippets plugin:

// Function to check if the current term of the given taxonomy has children
function bl_current_term_has_children( $taxonomy = 'category' ) {
	$term_children = get_term_children( get_queried_object_id(), $taxonomy );

	return count( $term_children ) > 0;

get_queried_object_id() gets the ID of the current term when viewing a term archive page. Example URL:


We have set category as the default argument for the function.

To check for a different taxonomy, product_cat in this case:


Now the function is ready to be used in a term archive template like a template that applies to all WooCommerce product categories.

Apply a Dynamic data condition with the above dynamic data tag whilst checking it against being equal to 1.

Remember that 1 is true and 0 is false.



Instant access to 390+ Bricks code tutorials with BricksLabs Pro


  • David Demastus

    How would one do this inside of a query loop, instead of on an archive page? Like if I had a query loop on a standard page of my website. How do I check if the parent terms inside the query has children using bricks conditions?

  • Paco Castilla

    Sublime! Lo tenia hecho con código espagueti y esta función es super simple!! Me encanta!! Muchas gracias!

Leave your comment