仅修改购物车小计

时间:2019-01-17 17:04:35

标签: woocommerce

几天不停地动脑筋,终于决定看看是否有一个善良的灵魂愿意帮助:

我正在使用一个插件来覆盖简单的产品价格,该价格基于基于表单输入字段内容(例如尺寸)运行的公式。 由于价格是通过公式计算的,因此货币切换器我也试图仅在货币交换器旁边输出一个货币符号,这不受货币开关计算得出的价格的影响,因此我仅使用plugins API通过functions.php中的公式来转换价格对于以这种方式计算价格的产品范围:

if (is_product_category(something)):
$price = price / x /** doing currency conversion manually;
endif;
return $price;

这可以完成应有的操作,但是货币切换器插件不会影响通过产品列表本身或购物车中的产品表中的公式计算的价格,但是会进行小计转换,因此我结束了只有受影响的产品线小计(由货币切换器计算,然后由价格公式划分)。我只需要选择其中一个即可影响产品小计,而无需同时使用两者。有没有机会只影响购物车中的小计计算(如产品线中的小计(产品价格*数量=产品线小计),而不影响税金和运费吗?

我接近:

add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 
1000, 1);
function add_custom_price( $cart_obj ) {

// This is necessary for WC 3.0+
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

// Loop through cart items
foreach ( $cart_obj->get_cart() as $cart_item ) {
    $cart_item['data']->set_price( XX );
}
}

但是,为了使它按预期工作,至少我认为,我应该能够在此功能内用产品价格替换“ XX”。因此,实际上我应该能够检测到购物车中的产品价格,然后转换该检测到的价格,以补偿仅货币兑换商在产品线小计中所造成的损失。这或者也许要在XX位置进行数学运算,因为当前小计由货币切换器确定,因此,如果我能够将其相乘,我想应该是相同的。

这样,我可以将输出的价格除以如上所述的公式($ price = $ price / x),它们都将匹配...

我希望我能至少解释一下这一混乱情况。我认为这不是解决此问题的最佳方法,但是我对如何同时使用这两种方法没有其他想法,使用插件来计算每个输入字段数据的价格对我来说是必须的,货币转换程序也是如此,并且我不能让他们俩像他们在这种产品上一样工作...

非常欢迎任何输入,并在此先感谢!

0 个答案:

没有答案