为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除只有一种变体的可变产品的价格范围?

如何删除只有一种变体的可变产品的价格范围?

PHP
qq_笑_17 2023-10-15 17:02:44
我有一个基于 WordPress 和 woocommerce 构建的家具网站。为了保持一致性,我希望所有床架都有变化,即使它们只有一种尺寸(特大号床、大号床、单人床)。然而,woocommerce 上的变体产品自然有一个价格范围,描述变体之间的最低价格到最高价格。如果我只有一种变体,它有一个空白的最低价格,并且仍然有连字符,然后是最高价格,如下所示,使它看起来像是负数。如何删除具有一种变体的产品的连字符(包括禁用所有其他变体的产品)。这个网站是 khemlanimart.com编辑:我不希望它只是替换为最低价格,因为当存在一种变化时,最低价格为空。如果我想在只有一种变体的情况下将其替换为最高价格,并且在有多种变体时仍然保持价格范围
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

已更新 (错误地替换$this为$product)。


请尝试以下操作,这应该会消除具有一种变体的可变产品的价格范围:


add_filter( 'woocommerce_variable_price_html', 'variable_products_with_one_variation', 10, 2 );

function variable_products_with_one_variation( $price_html, $product ) {

    $prices = $product->get_variation_prices( true );

    

    if( count($prices['price']) == 1 ) {

        $active_price = end( $prices['price'] );

        $reg_price    = end( $prices['regular_price'] );

        

        if ( $this->is_on_sale() ) {

            $price = wc_format_sale_price( wc_price( $reg_price ), wc_price( $active_price ) );

        } else {

            $price = wc_price( $active_price );

        }

    }

    return $price;

}

它应该有效。



查看完整回答
反对 回复 2023-10-15
  • 1 回答
  • 0 关注
  • 52 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信