猿问

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

我有一个基于 WordPress 和 woocommerce 构建的家具网站。为了保持一致性,我希望所有床架都有变化,即使它们只有一种尺寸(特大号床、大号床、单人床)。然而,woocommerce 上的变体产品自然有一个价格范围,描述变体之间的最低价格到最高价格。如果我只有一种变体,它有一个空白的最低价格,并且仍然有连字符,然后是最高价格,如下所示,使它看起来像是负数。如何删除具有一种变体的产品的连字符(包括禁用所有其他变体的产品)。

这个网站是 khemlanimart.com

编辑:我不希望它只是替换为最低价格,因为当存在一种变化时,最低价格为空。如果我想在只有一种变体的情况下将其替换为最高价格,并且在有多种变体时仍然保持价格范围


qq_笑_17
浏览 142回答 1
1回答

慕村225694

已更新 (错误地替换$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;}它应该有效。
随时随地看视频慕课网APP
我要回答