19th May '23
/
8 comments

Conditionally Outputting Elements only for Posts that have a Specific Taxonomy Term

A user asked:

I have a loop with some elements shown in a card.
Some items have the taxonomy “Bestseller”.
In the card I have a text with “Bestseller” that should be shown if taxonomy = “Bestseller”.
How can I do that ?

We can use the core WordPress has_term() function for checking if the current post has a specific term of a given taxonomy.

In this example, we shall work with a Bricks query loop in which the query type is set to Projects custom post type. This CPT has a corresponding Project Type taxonomy whose sample terms are Construction, Parks and Libraries.

Structure:

Now the objective is to display the last heading element only for the project items that are of Construction type.

For this we apply a Dynamic data condition on the Heading element like this:

{echo:has_term(construction,project-type)}

We are passing the term slug (name or ID can also be given) as the first argument for the has_term() function. The second argument is the taxonomy name.

Note: There should NOT be a comma between the two arguments.

Reference

https://developer.wordpress.org/reference/functions/has_term/

Get access to all 630 Bricks code tutorials with BricksLabs Pro

8 comments

  • Maddalena Fasser

    Hello Sridhar, we could also use these dynamic data tags in the condition:

    Bricks, Free Dynamic Data {post_terms_your_taxonomy_slug:plain}

    Then set the operator to “contains” and specify the taxonomy term.

    Does it make sense? Thanks, as always, for your time and support!

    (As a side note, BrickExtras users should now find a Post Category condition that makes this even more convenient.)

    • Maddalena Fasser

      I’m not sure what happened, but it seems my comment included "Bricks, Free Dynamic Data" by mistake, as I didn’t write that part. 😅 I'll try again to write the dynamic data tags: Bricks, Free Dynamic Data {post_terms_your_taxonomy_slug:plain}

      • Maddalena Fasser

        Ok, I see, Bricks actually rendered the dynamic data tags in the comments! Here they are again (without curly braces to avoid rendering):

        post_terms_category:plain post_terms_post_tag:plain post_terms_your_taxonomy_slug:plain

  • Cheok Way Leong

    Hi, what if I wanna target all the taxonomies in "project-type" instead of just "construction". Would it be = 1 or > 0?

  • You say there should NOT be a comma between the two arguments, but your example does have a comma between them? Please clarify this.

Leave a Reply to Maddalena Fasser (Cancel Reply)

 

Related Tutorials..

Is WooCommerce Cart Empty Condition in Bricks

Is WooCommerce Cart Empty Condition in Bricks

Updated on 5 Nov 2024 Looking to conditionally render an element depending on whether the user's cart is empty or not when using WooCommerce? Add…
Pro
Bricks Dynamic Condition – Check if today falls within 5 days before any holiday date

Bricks Dynamic Condition – Check if today falls within 5 days before any holiday date

Creating a custom condition that returns true or false depending on whether today falls within 5 days before any holiday dates selected on a Meta…
Categories:
Tags:
Bricks Condition for WishList Member

Bricks Condition for WishList Member

How to render a Bricks element only if the user has access to a specified WishList Member level.
Categories:
Pro
Check If The Latest Post Was Published in The Last X Minutes

Check If The Latest Post Was Published in The Last X Minutes

In this Pro tutorial we shall define a custom function that takes in the number of minutes as an argument and returns true if there…
Categories:
Pro
Conditional single post Bricks template based on internal referrer URL

Conditional single post Bricks template based on internal referrer URL

How to automatically select a single post template depending on the page from which the post is accessed.
Pro
Condition for checking Bricks content

Condition for checking Bricks content

Only outputting Bricks content when a Page is built with Bricks, otherwise display WP content.
Categories:
Conditionally Outputting Based on Query Count in Bricks

Conditionally Outputting Based on Query Count in Bricks

Update on 22 Sep 2023: There's a much simpler built-in method now. See this post. In the Bricks Facebook group a user asks: Is there…
Categories:
Create A Customizable AJAX Add To Cart Button In Bricks Builder

Create A Customizable AJAX Add To Cart Button In Bricks Builder

In Bricks, you can simply create an Add To Cart button from a dynamic data / function {woo_add_to_cart}. This button supports AJAX as well if…
Pro
How to Insert Element(s) Between Query Loop Posts in Bricks

How to Insert Element(s) Between Query Loop Posts in Bricks

Update on 16 Aug 2023: Follow this tutorial instead. This Pro tutorial shows how we can insert a Div (or any custom HTML) after nth…