【问题标题】:Display second min variation price of a variable Product in WooCommerce 3在 WooCommerce 3 中显示可变产品的第二个最小变化价格
【发布时间】:2017-08-16 08:10:55
【问题描述】:

我正在使用以下脚本:

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

function custom_variation_price( $price, $product ) {

$price = '';

if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) {
    $price .= '<span style="display:none;" class="not-from">v.a. ' . _x('', 'min_price', 'woocommerce') . ' </span>';

    $price .= woocommerce_price($product->get_price());
}

return $price;
}

它确实显示了此时的 min 变化价格。我想创建以下内容:

  • 如果最低价格为 0,00,则显示第二个产品变体价格。

例如:产品 X 有 3 种不同的变体:1(0.00 欧元)、2(5.00 欧元)、3(15.00 欧元)。如果变体价格为 0.00,则显示第二个价格变体,5.00 欧元。

【问题讨论】:

    标签: php wordpress woocommerce price variations


    【解决方案1】:

    这是当最低价格等于0时显示第二个最低可变价格的方式:

    add_filter('woocommerce_variable_price_html', 'custom_variation_price_html', 10, 2);
    function custom_variation_price_html( $price, $product ) {
    
        // Get all variations prices
        $prices = $product->get_variation_prices( true );
    
        // Get the prices (min and max)
        $min_price = current( $prices['price'] );
        $max_price = end( $prices['price'] );
    
        // Get 2nd min price
        $min_price2_arr = array_slice($prices['price'], 1, 1);
        $min_price2 = $min_price2_arr[0];
    
        if ( $min_price > 0) {
            $price = wc_price( $min_price );
        } elseif ( $min_price == 0 ) {
            $price = wc_price( $min_price2 );
        }
        return $price;
    }
    

    代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

    这是经过代码测试的,仅适用于 WooCommerce 3+。

    【讨论】:

    • 我觉得$min_price2也可以和$min_price2 = next( $prices['price'] );一起拍
    • @Reigel,不幸的是 next 规则不起作用。还有其他想法吗?
    • @LoicTheAztec:调整对我不起作用。看起来 var #min_price2 未设置。
    猜你喜欢
    • 1970-01-01
    • 2017-11-24
    • 2015-09-24
    • 1970-01-01
    • 2019-02-16
    • 2015-10-10
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    相关资源
    最近更新 更多