返回介绍

WooCommerce Conditional Tags 详解

发布于 2022-01-02 19:03:58 字数 1715 浏览 758 评论 0 收藏 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文