为了方便主题开发,WooCommerce为我们提供了一些条件判断函数,我们使用这些判断函数在合适的条件下显示或隐藏某些内容。例如,我们只需要在商店页面显示一端文本,我们只需要使用 is_shop()
函数判断当前页面是否为商店页面就可以了。因为WooCommerce是 WordPress 的一个插件,所有 WordPress 条件判断函数 在WooCommerce中也可以使用。
[wprs_c-alert type=”warning” content=”注意:我们只有在模板加载后,才可以在模板文件中使用这些条件判断函数,functions.php
文件在模板文件之前加载,所以在 functions.php
中,使用这些条件判断函数是无效的。”]
WooCommerce中常用的条件判断函数
所有的条件判断函数测试当前条件是否匹配,匹配返回 TRUE
,不匹配则返回 FALSE
,下面的列表中是我们常用的WooCommerce条件判断函数,所有条件函数请参考 WooCommerceAPI 文档
是否为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 '你好,欢迎光临我们的商店。'; } }
关于 "WooCommerce中的条件判断标签函数-在主题中判断当前页面 "的一个想法
站长,您好,有个问题请教一下,有没有办法可以自动给文章批量添加tags,把文章标题作为tags。我有一个wordpress网站发布的文章比较多一个个添加tags比较麻烦。问了很多站长都得不到答案,看你的网站wordpress技术比较厉害,求帮忙解决,谢谢啦
理论上是可以的,循环文章的标题,然后用
wp_insert_term
函数插入标签就行了。