添加费用在 woocommerce 结帐的付款价格中不起作用
add fee not work in payment price in woocommerce checkout
我使用 woocommerce_cart_calculate_fees 操作在 update_order_review 操作的 woocommerce 结帐页面中添加额外的自定义费用(自定义输入)。
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );
function prefix_add_discount_line( $cart )
{
parse_str($_POST['post_data'], $posted_data);
if( isset($posted_data['isWallet']) )
{
WC()->cart->add_fee( 'wallet', -$posted_data['walletUsed'] );
}
}
它有效并改变了 woocommerce 结帐中的价格。
但是当我去支付网关时,添加的费用不会添加到总价中。
请帮助 tanx.
我终于解决了这个问题。
当我们点击就地订购按钮时,新的 ajax 请求发送另一个 posted 数据(自定义数据直接作为 post 数据发送,而不是 post_data 参数)。
我给它设置了一个条件并解决了:
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );
function prefix_add_discount_line( $cart )
{
if(isset($_POST['post_data']))
{
parse_str($_POST['post_data'], $posted_data);
if( isset($posted_data['isWallet']) )
{
WC()->cart->add_fee( 'wallet', -$posted_data['walletUsed'] );
}
}
if(isset($_POST['isWallet']))
{
WC()->cart->add_fee( 'wallet', -$_POST['walletUsed'] );
}
}
我使用 woocommerce_cart_calculate_fees 操作在 update_order_review 操作的 woocommerce 结帐页面中添加额外的自定义费用(自定义输入)。
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );
function prefix_add_discount_line( $cart )
{
parse_str($_POST['post_data'], $posted_data);
if( isset($posted_data['isWallet']) )
{
WC()->cart->add_fee( 'wallet', -$posted_data['walletUsed'] );
}
}
它有效并改变了 woocommerce 结帐中的价格。 但是当我去支付网关时,添加的费用不会添加到总价中。 请帮助 tanx.
我终于解决了这个问题。 当我们点击就地订购按钮时,新的 ajax 请求发送另一个 posted 数据(自定义数据直接作为 post 数据发送,而不是 post_data 参数)。 我给它设置了一个条件并解决了:
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );
function prefix_add_discount_line( $cart )
{
if(isset($_POST['post_data']))
{
parse_str($_POST['post_data'], $posted_data);
if( isset($posted_data['isWallet']) )
{
WC()->cart->add_fee( 'wallet', -$posted_data['walletUsed'] );
}
}
if(isset($_POST['isWallet']))
{
WC()->cart->add_fee( 'wallet', -$_POST['walletUsed'] );
}
}