当用户结帐时,表单底部有一个按钮,即“下订单”按钮。我一直在尝试在 woocommerce 中为这个按钮添加一个钩子,但我似乎没有找到正确的钩子,我尝试了 woocommerce_checkout_place_order ......但它没有做任何事情。
function my_function() {
//write function
}
add_action( "woocommerce_order_status_pending", "my_function");
提前致谢!
当用户结帐时,表单底部有一个按钮,即“下订单”按钮。我一直在尝试在 woocommerce 中为这个按钮添加一个钩子,但我似乎没有找到正确的钩子,我尝试了 woocommerce_checkout_place_order ......但它没有做任何事情。
function my_function() {
//write function
}
add_action( "woocommerce_order_status_pending", "my_function");
提前致谢!
你需要这个钩子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
}
您可以查看此站点以了解您可能在结帐页面上使用的更多钩子。
## 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 );