在 Woocommerce 中设置本地取货运输方式的百分比折扣

Yam*_*ama 5 php wordpress shipping discount woocommerce

我有一个使用 WooCommerce 插件的 WordPress 网站。如果买家选择本地取货作为运输方式,我想为他们提供购物车总额 5% 的折扣。

我已经尝试过- 5 * [qty]但它似乎不起作用。

我也试过 -0.95 * [cost] 没有运气

在此处输入图片说明 在此处输入图片说明

Yam*_*ama 10

我正在使用 WooCommerce 3 并通过在活动主题的 function.php 中编写一个函数来实现上述结果。

function prefix_add_discount_line( $cart ) {
  $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
  $chosen_shipping_no_ajax = $chosen_methods[0];
  if ( 0 === strpos( $chosen_shipping_no_ajax, 'local_pickup' ) ) {

    // Define the discount percentage
    $discount = $cart->subtotal * 0.05;
    // Add your discount note to cart
    $cart->add_fee( __( 'Collection discount applied', 'yourtext-domain' ) , -$discount );
  }
}
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line');
Run Code Online (Sandbox Code Playgroud)

  • 要对费用添加税费,请使用 true 作为 add_fee 的第三个参数。`$cart->add_fee( __( '已应用集合折扣', 'yourtext-domain' ) , -$discount, true );` (2认同)