Wooccommerce-显示可变产品中按重量计算的价格



我正在用WordPress和WooCommerce构建一个简单的电子商务网站。没有足够的时间来构建一个自定义平台,但我知道编辑主题的functions.php文件可以调整一些内容。目前,我添加了以下代码,它将以最低价格显示在产品标签中:

add_filter('woocommerce_variable_sale_price_html', 'lw_variable_product_price', 10, 2);
add_filter('woocommerce_variable_price_html', 'lw_variable_product_price', 10, 2);
function lw_variable_product_price($v_price, $v_product)
{
$prod_prices = array(
$v_product->get_variation_price('min', true) ,
$v_product->get_variation_price('max', true) ,
);
$prod_price = $prod_prices[0] !== $prod_prices[1] ? sprintf(__('<span>Approximate price per pound: </span> %1$s', 'woocommerce') , wc_price($prod_prices[0])) : wc_price($prod_prices[0]);
return $prod_price;
}

然而,由于将要出售的产品是基于重量的,我需要显示,比方说,的结果

$prod_prices = array(
$v_product->get_variation_price('max', true) ,
$v_product->get_variation_weight('max', true) ,
);
$prod_price = $prod_prices[0] / $prod_prices[1]; //calculated price.

我该怎么做?我试过

$prod_price = $prod_prices[0] / $prod_prices[1] ? sprintf(__('<span>Approximate price per pound: </span> %1$s', 'woocommerce') , wc_price($prod_prices[0])) : wc_price($prod_prices[0]);

但它不会起作用。

如果您想使用最大可变产品价格来计算基于重量的近似价格,您可以使用以下函数:

add_filter( 'woocommerce_variable_sale_price_html', 'lw_variable_product_price', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'lw_variable_product_price', 10, 2 );
function lw_variable_product_price( $price, $product ) {
// get the maximum price of the variable product
$max    = $product->get_variation_price('max');
// get the weight of the variable product
$weight = $product->get_weight();
$new_price = '';
if ( $max && $weight ) {
$new_price = sprintf( __( '<span>Approximate price per pound: </span> %1$s', 'woocommerce' ) , wc_price( $max / $weight ) );
}

return $new_price;
}

该代码已经过测试并运行。将其添加到活动主题的函数.php中。

相关内容

  • 没有找到相关文章

最新更新