WooCommerce Conditional Tags和WordPress的条件标签类似,可以帮助判断当前是否在WooCommerce相关的页面上。本文介绍每个标签的具体含义,以及使用时的注意事项。

is_shop()

满足条件is_post_type_archive( 'product' )或is_page( woocommerce_get_page_id( 'shop' ) )时为真。

使用默认的permalink设置时,shop页不是后台设置的那个,而是product的archive页面,product是custom post type,其archive页面的判断为is_post_type_archive( 'product' )。

is_product()

是否为单独的产品页面,相当于is_singular( array( 'product' ) )。

is_product_category()

是否为产品分类页面,产品分类其实是custom taxonomy,相当于is_tax( 'product_cat' );

若指定详细参数,还可判断具体在哪个分类,比如

is_product_tag( 'shirts' )

相当于is_tax( 'product_cat', $term )

is_product_tag()

与is_product_category()相似,判断是否在产品tag页面,相当于is_tax( 'product_tag', $term )。

is_woocommerce()

相当于is_shop() || is_product_category() || is_product_tag() || is_product()。

即当位于shop首页、产品分类或tag页,或者单独的产品页时,均为真。

is_cart()

是否是购物车页面,相当于is_page( woocommerce_get_page_id( 'cart' ) )。

is_checkout()

是否在结账页面,相当于is_page( woocommerce_get_page_id( 'checkout' ) ) || is_page( woocommerce_get_page_id( 'pay' ) )

is_account_page()

当位于My Account、Edit Address、View Order或Change Password时为真。

通过Filter:woocommerce_is_account_page,可以将其他页面也设置成account页面。

is_ajax()

内容通过Ajax方式载入时为真。

何时可以使用

使用条件标签时要注意使用的位置,WooCommerce的条件标签只在主查询完成后生效,所以最早可以使用这些标签的action是wp

wp之后还有那些actions,可以参考http://codex.wordpress.org/Plugin_API/Action_Reference

7条留言

  1. 您好,标签中如何获取woocommerce产品关键字?谢谢

    1. 你好,请问woocommerce产品关键字指什么?

      1. 就是产品标签,普通文章的标签类型是post_tag,产品标签是product_tag,想在中输出标签,看了产品页面获取标签的代码,试着修改都没有成功,麻烦您了?

          1. 不好意思,没有写清楚,是想在中输出产品的标签(不带链接)

        1. 到底想在什么中输出?只适用于自己站点的代码还是找开发人员来看吧。我只会为对大多数人有用的问题提供免费劳动。

评论功能已关闭