woocommerce更改结算和购物车中的价格
随着woocommerce,在我的网站我想在购物车页面添加一个选择输入,用户可以在两个选项之间选择一个值,并根据这个值我会更改价钱。woocommerce更改结算和购物车中的价格
到目前为止,我能得到的总使用更改此:
function action_woocommerce_before_cart_totals() {
global $woocommerce;
$woocommerce->cart->total = $woocommerce->cart->total*0.25;
var_dump($woocommerce->cart->total);};
的问题是,当我去结帐页面不参加的functions.php计算的总
感谢您的帮助。
您可以在同一时间使用woocommerce_review_order_before_order_total
钩过,显示在结帐您的自定义价格,这样一来:
add_action('woocommerce_review_order_before_order_total', 'custom_cart_total');
add_action('woocommerce_before_cart_totals', 'custom_cart_total');
function custom_cart_total() {
if (is_admin() && ! defined('DOING_AJAX'))
return;
WC()->cart->total *= 0.25;
//var_dump(WC()->cart->total);
}
的代码放在您的活动子主题的function.php文件(或主题)或任何插件文件。
该代码测试和工程。
是它完美的作品,但是当我选择的付款方式之一,它不占用在functions.php中计算的总数。非常感谢我会寻找一个解决方案。再次感谢。 – Hanane
@LoicTheAztec不错的东西,我们可以做一个按钮,并用ajax更新价格:jQuery(document.body).trigger(“update_checkout”); – mysticalghoul
支付网关总是使用$ order-> get_total()变量来获取购物车总计。因此,如果您按照以下步骤操作,为了调整您的功能,请使用此过滤器woocommerce_order_amount_total
。您的支付网关总是显示您调整的总额。
add_filter('woocommerce_order_amount_total', 'custom_cart_total');
function custom_cart_total($order_total) {
return $order_total *= 0.25;
}
听起来像是一个工作[WooCommerce产品附加组件(http://woocommerce.com/products/product-add-ons) – helgatheviking