WooCommerce 检查是否在单个产品页面和主产品查询中

问题描述 投票:0回答:1

对于 Woo 电子商店,我需要以特定方式在单个产品页面中显示价格。当在任何带有产品卡的轮播中时,例如在主页中您可以添加各种产品条,甚至在相关产品轮播的单个产品页面中,我需要以另一种方式显示价格。

所以我认为检查

if ( is_product() && is_main_query() ) { // one way } else { //another way }
适用于我的情况,但不幸的是它不适用于,因为它确实适用于单个产品页面中的主要产品,但它也以特定方式显示相关产品的价格产品和追加销售轮播也(它不应该)。我怎样才能排除这些?我正在连接一个 3rd 方插件的钩子,它不传递任何参数,如产品 ID 等...

请问有什么帮助吗?

php woocommerce
1个回答
0
投票

逻辑需要稍微调整一下:目前是检查主查询是否是产品,但需要的是查询是否是产品,如果是,则检查是否是主查询。像这样的东西(未经测试):

if ( is_product() ) {
    if ( is_main_query() ) {
        // single way
    } else {
        // card way
    }
}

有很多方法可以让它变得更漂亮,但这是必要的逻辑调整。

© www.soinside.com 2019 - 2024. All rights reserved.