Note: This is a Developer level doc. If you are unfamiliar with code/tags and resolving potential conflicts, select a WooExpert or Developer for assistance. We are unable to provide support for customizations under our Support Policy.
What are “conditional tags”?
↑ Back to topis_shop()
conditional tag, you can.
Because WooCommerce uses custom post types, you can also use many of WordPress’ conditional tags. See: http://codex.wordpress.org/Conditional_Tags for a list of the tags included with WordPress.
Note: You can only use conditional query tags after the
posts_selection
action hook in WordPress (the wp
action hook is the first one through which you can use these conditionals). For themes, this means the conditional tag will never work properly if you are using it in the body of functions.php.Available conditional tags
↑ Back to topTRUE
or FALSE
. Conditions under which tags output TRUE
are listed below the conditional tags.
The list below holds the main conditional tags. To see all conditional tags, visit the WooCommerce API Docs.
WooCommerce page
↑ Back to topis_woocommerce()
- Returns true if on a page which uses WooCommerce templates (cart and checkout are standard pages with shortcodes and thus are not included).
Main shop page
↑ Back to topis_shop()
- Returns true when on the product archive page (shop).
Product category page
↑ Back to topis_product_category()
- Returns true when viewing a product category archive.
is_product_category( 'shirts' )
- When the product category page for the ‘shirts’ category is being displayed.
is_product_category( array( 'shirts', 'games' ) )
- When the product category page for the ‘shirts’ or ‘games’ category is being displayed.
Product tag page
↑ Back to topis_product_tag()
- Returns true when viewing a product tag archive
is_product_tag( 'shirts' )
- When the product tag page for the ‘shirts’ tag is being displayed.
is_product_tag( array( 'shirts', 'games' ) )
- When the product tag page for the ‘shirts’ or ‘games’ tags is being displayed.
Single product page
↑ Back to topis_product()
- Returns true on a single product page. Wrapper for is_singular.
Cart page
↑ Back to topis_cart()
- Returns true on the cart page.
Checkout page
↑ Back to topis_checkout()
- Returns true on the checkout page.
Customer account pages
↑ Back to topis_account_page()
- Returns true on the customer’s account pages.
Endpoint
↑ Back to topis_wc_endpoint_url()
- Returns true when viewing a WooCommerce endpoint
is_wc_endpoint_url( 'order-pay' )
- When the endpoint page for order pay is being displayed.
is_wc_endpoint_url( 'order-received' )
- When the endpoint page for order received is being displayed.
is_wc_endpoint_url( 'view-order' )
- When the endpoint page for view order is being displayed.
is_wc_endpoint_url( 'edit-account' )
- When the endpoint page for edit account is being displayed.
is_wc_endpoint_url( 'edit-address' )
- When the endpoint page for edit address is being displayed.
is_wc_endpoint_url( 'lost-password' )
- When the endpoint page for lost password is being displayed.
is_wc_endpoint_url( 'customer-logout' )
- When the endpoint page for customer logout is being displayed.
is_wc_endpoint_url( 'add-payment-method' )
- When the endpoint page for add payment method is being displayed.
Ajax request
↑ Back to topis_ajax()
- Returns true when the page is loaded via ajax.
Working example
↑ Back to top
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if ( is_product_category() ) { | |
if ( is_product_category( 'shirts' ) ) { | |
echo 'Hi! Take a look at our sweet tshirts below.'; | |
} elseif ( is_product_category( 'games' ) ) { | |
echo 'Hi! Hungry for some gaming?'; | |
} else { | |
echo 'Hi! Check our our products below.'; | |
} | |
} |