仅在WooCommerce单产品页面上添加价格后缀,而无需链接产品

发布于 2025-01-23 07:38:12 字数 648 浏览 0 评论 0原文

我在WooCommerce单产品页面上添加了价格后缀(只有在循环中!)。

我使用以下内容:

add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );
function custom_price_suffix( $price, $product ) {
    if( is_product() ) {   
        $price = $price . ' <small>incl. tax</small>';
    }

    return apply_filters( 'woocommerce_get_price', $price );
}

但是,这也增加了产品页面上销售的价格后缀(我不是在谈论相关产品,而是在销售产品)。

我如何排除上销售的后缀?

我尝试过:

if( is_product() && !$woocommerce_loop['name'] == 'up-sells' )

但是后缀仍在向上销售。

I am adding a price suffix on the WooCommerce single product page (and only there, not in the loop!).

I use the following:

add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );
function custom_price_suffix( $price, $product ) {
    if( is_product() ) {   
        $price = $price . ' <small>incl. tax</small>';
    }

    return apply_filters( 'woocommerce_get_price', $price );
}

However, this also adds the price suffix to the Up-Sells on the product page (I am not talking about the related products, but the Up-Sells).

How can I exclude the price suffix for the Up-Sells?

I tried:

if( is_product() && !$woocommerce_loop['name'] == 'up-sells' )

But the suffix is still displayed for the Up-Sells.

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落花浅忆 2025-01-30 07:38:12

代码

在您的

function filter_woocommerce_get_price_html( $price, $product ) {
    global $woocommerce_loop;

    if ( is_product() && $woocommerce_loop['name'] == '' ) {
        $price .= ' <small> incl. tax</small>';
    }
    
    //return $price;
    return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );

function filter_woocommerce_get_price_html( $price, $product ) {
    global $woocommerce_loop;

    if ( is_product() && $woocommerce_loop['name'] !== 'related' && $woocommerce_loop['name'] !== 'up-sells' ) {
        $price .= ' <small> incl. tax</small>';
    }
    
    //return $price;
    return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );

In your code $woocommerce_loop is not defined

Instead of the compare, do the reverse and only apply it to an empty value

So you get:

function filter_woocommerce_get_price_html( $price, $product ) {
    global $woocommerce_loop;

    if ( is_product() && $woocommerce_loop['name'] == '' ) {
        $price .= ' <small> incl. tax</small>';
    }
    
    //return $price;
    return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );

OR use

function filter_woocommerce_get_price_html( $price, $product ) {
    global $woocommerce_loop;

    if ( is_product() && $woocommerce_loop['name'] !== 'related' && $woocommerce_loop['name'] !== 'up-sells' ) {
        $price .= ' <small> incl. tax</small>';
    }
    
    //return $price;
    return apply_filters( 'woocommerce_get_price', $price );
}
add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文