加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – WooCommerce变量产品:只使用自定义标签保持“最低”价

发布时间:2021-07-06 05:22:27 所属栏目:大数据 来源: https://www.jb51.cc
导读:在函数文件中,我添加了一个过滤器挂钩,用于在变体产品“min”价格之前添加自定义标签. 如何将标签与价格放在同一行? 请参阅我的代码和下面的屏幕截图: add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );ad

在函数文件中,我添加了一个过滤器挂钩,用于在变体产品“min”价格之前添加自定义标签.

如何将标签与价格放在同一行?

请参阅我的代码和下面的屏幕截图:

add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
function wc_wc20_variation_price_format( $price, $product ) {
    $min_price = $product->get_variation_price( 'min', true );
    $price = sprintf( __( 'From%1$s', 'woocommerce' ), wc_price( $min_price ) );
    return $price;
}

解决方法:

自WooCommerce 3以来,woocommerce_variable_sale_price_html钩子已被弃用,而不再有用.如果你不关心“最低”的促销价(当最低价出售时),你可以使用这个:

add_filter( 'woocommerce_variable_price_html', 'custom_min_max_variable_price_html', 10, 2 );
function custom_min_max_variable_price_html( $price, $product ) {
    $prices = $product->get_variation_prices( true );
    $min_price = current( $prices['price'] );

    $min_price_html = wc_price( $min_price ) . $product->get_price_suffix();
    $price = sprintf( __( 'From %1$s', 'woocommerce' ), $min_price_html );

    return $price;
}

代码放在活动子主题(或主题)的function.PHP文件中,或者放在任何插件文件中.

测试并适用于WooCommerce 3.你会得到这样的东西:

enter image description here

如果您关心“最低”销售价格(当最低价格在销售时),并且您想要显示两个价格,您应该使用此代码:

add_filter( 'woocommerce_variable_price_html', 'custom_min_max_variable_price_html', 10, 2 );
function custom_min_max_variable_price_html( $price, $product ) {
    $prices = $product->get_variation_prices( true );
    $min_price = current( $prices['price'] );

    $min_keys = current(array_keys( $prices['price'] ));
    $min_price_regular = $prices['regular_price'][$min_keys];
    $min_price_html = wc_price( $min_price ) . $product->get_price_suffix();

    if( $min_price_regular != $min_price ){ // When min price is on sale (Can be removed)
        $min_price_regular_html = '<del>' . wc_price( $min_price_regular ) . $product->get_price_suffix() . '</del>';
        $min_price_html = $min_price_regular_html .'<ins>' . $min_price_html . '</ins>';
    }
    $price = sprintf( __( 'From %1$s', 'woocommerce' ), $min_price_html );

    return $price;
}

代码放在活动子主题(或主题)的function.PHP文件中,或者放在任何插件文件中.

测试并适用于WooCommerce 3.你会得到这样的东西:

enter image description here

To handle when all variations prices are the same:

07002

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读