为了方便主题开发,WooCommerce 为我们提供了一些条件判断函数,我们使用这些判断函数在合适的条件下显示或隐藏某些内容。例如,我们只需要在商店页面显示一端文本,我们只需要使用 is_shop()
函数判断当前页面是否为商店页面就可以了。因为WooCommerce 是 WordPress 的一个插件,所有 WordPress 条件判断函数 在 WooCommerce 中也可以使用。
注意:我们只有在模板加载后,才可以在模板文件中使用这些条件判断函数,functions.php
文件在模板文件之前加载,所以在 functions.php
中,使用这些条件判断函数是无效的。
WooCommerce 中常用的条件判断函数 #
所有的条件判断函数测试当前条件是否匹配,匹配返回 TRUE,不匹配则返回 FALSE,下面的列表中是我们常用的 WooCommerce 条件判断函数,所有条件函数请参考 WooCommerce API 文档
是否为WooCommerce 页面 #
is_woocommerce()
如果页面使用的是 WooCommerce 模板,返回 true (购物车和结账页面使用的是标准的页面模板,不会包含在内)。
是否为商店主页面 #
is_shop()
当前页面为产品存档页面时,返回 true (商店)。
是否为产品分类页面 #
is_product_category()
当前页面是产品分类时,返回 true。
is_product_category( 'shirts' )
当前页面是产品分类项目 ‘shirts’ 时,返回 true,’shirt’ 为分类别名。
is_product_category( array( 'shirts', 'games' ) )
当前页面是产品分类项目 ‘shirts’ 或 ‘games’ 时,返回 true。
是否为产品标签页面 #
is_product_tag()
当前页面为产品标签时,返回 true。
is_product_tag( 'shirts' )
当前页面是产品标签项目 ‘shirts’ 时,返回 true,’shirt’ 为分类别名。
is_product_tag( array( 'shirts', 'games' ) )
当前页面是产品标签项目 ‘shirts’ 或 ‘games’ 时,返回 true。
是否为单个产品详情页面 #
is_product()
当前页面是单个产品详情页面时,返回 true, 是 is_singular 条件函数的封装。
是否为购物车页面 #
is_cart()
当前页面是购物车页面时,返回 true。
是否为结账页面 #
is_checkout()
当前分类是结账页面时,返回 true。
是否为客户账户页面 #
is_account_page()
当前页面为客户账户页面时,返回 true。
判断页面端点 #
is_wc_endpoint_url()
查看 WooCommerce 端点页面时,返回 true。
is_wc_endpoint_url( 'order-pay' )
查看支付订单端点页面时,返回 true。
is_wc_endpoint_url( 'order-received' )
查看收到订单端点页面时,返回 true。
is_wc_endpoint_url( 'view-order' )
查看查看订单端点页面时,返回 true。
is_wc_endpoint_url( 'edit-account' )
查看编辑账户页面时,返回 true。
is_wc_endpoint_url( 'edit-address' )
查看编辑地址端点页面时,返回 true。
is_wc_endpoint_url( 'lost-password' )
查看找回密码端点页面时,返回 true。
is_wc_endpoint_url( 'customer-logout' )
查看客户登出端点页面时,返回 true。
is_wc_endpoint_url( 'add-payment-method' )
查看添加支付方式端点页面时,返回 true。
判断是否为 Ajax 请求 #
is_ajax()
当前页面通过 Ajax 加载时,返回 true。
使用示例 #
下面的使用示例演示了怎么在不同的分类里面显示不同的内容。
if ( is_product_category() ) {
if ( is_product_category( 'shirts' ) ) {
echo '你好,我这里都 T-shirt。';
} elseif ( is_product_category( 'games' ) ) {
echo '你好,我这里都是游戏。';
} else {
echo '你好,欢迎光临我们的商店。';
}
}