3

当用户结帐时,表单底部有一个按钮,即“下订单”按钮。我一直在尝试在 woocommerce 中为这个按钮添加一个钩子,但我似乎没有找到正确的钩子,我尝试了 woocommerce_checkout_place_order ......但它没有做任何事情。

function my_function() {
  //write function
}

add_action( "woocommerce_order_status_pending", "my_function");

提前致谢!

4

2 回答 2

7

你需要这个钩子woocommerce_review_order_after_submit。它将在提交区域之后执行您挂钩的任何功能。使用这个钩子,您可以在提交按钮后的结帐页面上添加一些 html。但是,如果您需要在用户按下“下订单”按钮后调用函数 - 使用woocommerce_checkout_order_processed. 这将在订单创建后立即挂钩您,以便您可以使用新生成的订单详细信息:

add_action( 'woocommerce_checkout_order_processed', 'is_express_delivery',  1, 1  );
function is_express_delivery( $order_id ){

   $order = new WC_Order( $order_id );
   //something else

}

您可以查看此站点以了解您可能在结帐页面上使用的更多钩子。

于 2016-05-26T06:33:43.853 回答
1
   ## I USED THIS CODE FOR ADDING DELIVERY CHARGES DEPENDING UPON THE CART SUBTOTAL AND SOME POST FIELDS ## 
function action_woocommerce_checkout_process($wccs_custom_checkout_field_pro_process ) 
    { 
            global $woocommerce;
            //Add Fuel Surcharge & CAF
            function woo_add_cart_fee() { 
            global $woocommerce;
            if ( WC()->cart->cart_contents_total < 1500 && 
                        $_POST['delivery_type']=='Pick Up') { 
                        $fuel_surchargeandCAF = get_option( 'fuel_surchargeandCAF', 
                        70 );
                        WC()->cart->add_fee( __('Delivery Charges', 'woocommerce'), 
                        $fuel_surchargeandCAF, TRUE, '');
                      }

                   }

    add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );


    }; 

    add_action( 'woocommerce_checkout_process', 'action_woocommerce_checkout_process', 10,

 1 ); 
于 2017-05-08T14:03:25.113 回答