How to Create Conditional Product Content in WooCommerce with JetEngine

Published: October 8, 2026 Author: TechnoCrackers
How to Create Conditional Product Content in WooCommerce with JetEngine

WooCommerce product pages often contain information that only applies to certain products. For example, you may want to display an “Almost GONE” message when stock is low, show a “Best Selling!” label for featured products, or display a download link only when a product is downloadable.

Instead of creating separate product templates for every situation, you can use JetEngine Dynamic Visibility to control which content appears based on WooCommerce product data.

JetEngine provides WooCommerce-specific visibility conditions that can be applied to widgets, columns, and sections. This allows you to show or hide product content according to stock, product type, sale status, purchase history, and other product settings.

In this guide, we’ll look at how to create conditional WooCommerce product content with JetEngine.

What You Need

Before getting started, make sure you have:

  • WordPress
  • WooCommerce
  • Elementor
  • JetEngine
  • A WooCommerce Single Product or Shop template

The reference setup uses JetEngine’s Dynamic Visibility module with WooCommerce product templates.

Step 1: Enable Dynamic Visibility in JetEngine

First, enable the Dynamic Visibility module.

From the WordPress dashboard, go to:

JetEngine → JetEngine → Modules

Find Dynamic Visibility for Widgets and Sections and enable it.

Save the settings.

Enable Dynamic Visibility in JetEngine

Once enabled, Dynamic Visibility becomes available inside Elementor’s Advanced settings for supported widgets and sections.

Step 2: Open Your WooCommerce Product Template

Next, open the WooCommerce template where you want to add conditional content.

If you’re using Crocoblock’s WooCommerce tools, you can access your templates through:

Crocoblock → Woo Page Builder

Open the appropriate Single Product or Shop template and select Edit with Elementor.

You can apply Dynamic Visibility to individual widgets, columns, or sections.

Step 3: Configure a Dynamic Visibility Condition

Select the Elementor widget that should appear conditionally.

Go to:

Advanced → Dynamic Visibility

Enable the Dynamic Visibility option.

You will find settings for:

  • Visibility condition type
  • Conditions
  • Relations

The visibility condition can either show an element when the condition is met or hide an element when the condition is met. Multiple conditions can also be connected using AND or OR logic.

Configure a Dynamic Visibility Condition

Now let’s look at practical WooCommerce examples.

Example 1: Show an “Almost GONE” Message for Low Stock

A useful example is displaying an “Almost GONE” message when a product has fewer than five items remaining.

First, make sure stock management is enabled for the product.

Go to:

Products → All Products → Edit Product → Inventory

Enable Manage stock? and enter the product’s stock quantity.

Now return to your Single Product template and add a Heading widget with text such as:

Almost GONE

Open:

Advanced → Dynamic Visibility

Set:

  • Visibility condition type: Hide element if condition met
  • Condition: Product has Enough Stock
  • Quantity: 5

This means the heading will be hidden when the product has five or more items available.

If the stock quantity falls below five, the “Almost GONE” message becomes visible.

Example 2: Display Content for Downloadable Products

You can also show specific content only when a product is downloadable.

Edit the WooCommerce product and enable the Downloadable option.

Display Content for Downloadable Products

Then add a Heading or Dynamic Link widget to your product template.

For example, you could display:

Download Your Product

or provide a link to the downloadable file.

For the visibility condition, select:

Product is Downloadable

The element will appear when the product has the Downloadable option enabled.

Dynamic Visibility

This can be particularly useful for digital products where customers need different information from physical-product buyers.

JetEngine can also display content based on whether a WooCommerce product is marked as Featured.

WooCommerce product is marked as Featured

First, mark the appropriate product as featured.

Go to:

Products → All Products → Quick Edit

Enable the Featured option.

Then add a Heading widget containing:

Best Selling!

Under:

Advanced → Dynamic Visibility

select:

Product is Featured

The heading will now appear only for products marked as Featured.

This can be used as a promotional label in product cards or on individual product pages.

Example 4: Show an “Out of Stock” Message

Another common use is displaying an “Out of Stock” message when a product is unavailable.

Add a Heading widget with:

Out of Stock

Then configure Dynamic Visibility with:

  • Visibility condition type: Hide element if condition met
  • Condition: Product is in Stock

When the product is in stock, the heading is hidden.

Show an “Out of Stock” Message

When the product is not in stock, the heading becomes visible.

One thing to remember is that this setup can also display the message for products with an On Backorder status, so check your desired stock behavior before using this approach.

Example 5: Display an “On Backorder” Message

You can create a separate message for products that are specifically available on backorder.

Add a Heading widget containing:

On Backorder

Then select:

Product is on Backorder

as the Dynamic Visibility condition.

The heading will appear when the product’s WooCommerce stock status is set to On backorder.

Display an “On Backorder” Message

This gives customers immediate information about why the product may not be available for immediate shipment.

Example 6: Add an “On Sale!” Label

Conditional content can also be used to highlight products currently on sale.

Add a Heading widget with:

On Sale!

Then select:

Product is on Sale

as the visibility condition.

The element will appear when the product has a Sale Price.

If a sale price has been scheduled, the condition can follow the scheduled sale period.

This allows you to create a reusable sale badge without manually adding it to every product.

Example 7: Display “Item for Free” Content

You can use the Product is Purchasable condition to control content based on whether a product has a price.

For example, you could create a Heading widget with:

Item for Free

Then use:

Visibility condition type: Hide element if condition met

Condition: Product is Purchasable

If the product does not have a price and therefore isn’t purchasable, the message can be displayed.

This type of setup can be useful for products that are being offered as free or donated items.

Example 8: Show a Download Button After Purchase

JetEngine can also create conditional content based on whether the current customer has already purchased a product.

The Product is Purchased condition checks whether the current logged-in user has purchased the product.

For example, you could display a:

Download

button only after the customer has purchased a digital product.

For a Single Product template, the Product ID field can remain blank because the condition can use the current product. On static pages containing product lists, the relevant Product ID needs to be specified.

This creates a more personalized experience for returning customers.

Example 9: Limit Products Sold Individually

Some WooCommerce products can only be purchased one at a time.

If the Sold individually option is enabled in the product’s Inventory settings, you can use the Product is Sold Individually condition.

For example, add a Heading widget containing:

You can buy only one item per order

Then configure its Dynamic Visibility condition to:

Product is Sold Individually

The message will appear only for products that have this WooCommerce setting enabled.

Example 10: Display Content for External/Affiliate Products

WooCommerce supports several product types, including External/Affiliate products.

You can use the Product is Type condition to display content based on the selected product type.

For example, if a product is an External/Affiliate product, you could display the name of the company that offers the product.

Set the condition to check for the appropriate product type and place the relevant content inside the conditionally visible widget.

Example 11: Show a “Virtual Product” Message

For virtual products, customers may not need shipping information.

You can create a Heading widget containing:

Virtual Product

Then select:

Product is Virtual

as the visibility condition.

The message will appear when the Virtual option is enabled for the WooCommerce product.

The same approach can be used to display a message such as:

No shipping required! You’ll receive access via email after purchase.

This makes the product page more relevant to customers purchasing digital or virtual products.

Step 4: Combine Multiple Conditions

JetEngine also lets you combine multiple visibility conditions.

For example, suppose you want content to appear only when two conditions are satisfied.

You can add multiple conditions and select:

AND

This means every condition must be true.

Alternatively, select:

OR

when you want the element to appear if any of the conditions are satisfied.

This is useful when you need more specific product-display rules.

Step 5: Use Conditional Content in Product Loops

Conditional product content isn’t limited to Single Product pages.

You can also use Dynamic Visibility in product listing or archive templates.

For example, you could create an Archive Item template with different image or badge elements.

One image could use:

Product is on Sale

Another could use:

Product is Virtual

Another could use:

Product is Featured

You can then place this archive template inside a WooCommerce Products Loop.

Each product will display the appropriate content according to its own settings.

This is particularly useful for creating dynamic product cards.

Step 6: Test Your Conditions

After configuring your conditional content, test products with different settings.

For example:

  • Product with stock quantity of 7
  • Product with stock quantity below 5
  • Downloadable product
  • Featured product
  • Out-of-stock product
  • Backordered product
  • Product on sale
  • Free product
  • Previously purchased product
  • Individually sold product
  • External/Affiliate product
  • Virtual product

Check both the Elementor template and the front end to make sure each element appears or disappears as expected.

Conclusion

JetEngine’s Dynamic Visibility feature makes it easier to create conditional WooCommerce product content without building separate templates for every product scenario.

You can use WooCommerce-specific conditions to display messages such as “Almost GONE,” “Best Selling!,” “On Sale!,” “Out of Stock,” “On Backorder,” and “Virtual Product.” You can also create more advanced experiences, such as showing download buttons only to customers who have purchased a product.

The main advantage is that one product template can respond dynamically to each product’s WooCommerce settings. Once the visibility rules are configured, JetEngine automatically determines which content should be displayed to shoppers.

This makes WooCommerce product pages more informative, personalized, and easier to manage.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Limited Time Offer

X

Try a Free 2-Hour Test Task

Experience our quality, speed, and communication on any small WordPress task before you commit. No contract. No cost. No obligation.
[For New Agency Partners]

"*" indicates required fields

Name*
0
Would love your thoughts, please comment.x
()
x