在 WooCommerce 中下订单后显示成功自定义通知
Display a success custom notice after Placing an Order in WooCommerce
我需要在结帐页面上检查付款是否成功并显示消息:'Your payment has been successful',然后重定向到感谢页面(由插件 Woo Product 针对每个产品定制工具)。我一直在尝试在 Woo 文档中找到挂钩,但到目前为止还没有成功。我的最新代码是:
add_action( 'woocommerce_after_checkout_validation', 'message_after_payment' );
function message_after_payment(){
global $woocommerce;
$order = wc_get_order( $order_id );
if ( $order->has_status('processing') ){
wc_add_notice( __("Your payment has been successful", "test"), "success" );
}
}
如何实现?
提交订单(下订单)后,您无法在结帐页面上显示“成功”通知……您可以在“已收到订单(谢谢)”页面中执行此操作。同样在您的代码中,$order_id
未定义...
所以右钩子是 woocommerce_before_thankyou
使用 wc_print_notice()
函数代替:
add_action( 'woocommerce_before_thankyou', 'success_message_after_payment' );
function success_message_after_payment( $order_id ){
// Get the WC_Order Object
$order = wc_get_order( $order_id );
if ( $order->has_status('processing') ){
wc_print_notice( __("Your payment has been successful", "woocommerce"), "success" );
}
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
补充: 显示自定义 html 消息而不是 Woocommerce 通知
只需替换代码行:
wc_print_notice( __("Your payment has been successful", "woocommerce"), "success" );
例如:
echo '<p class='cudtom-message"> . __("Your payment has been successful", "woocommerce"), "success" ) . '</p>';
您可以根据需要在短信周围添加自己的 html。
我需要在结帐页面上检查付款是否成功并显示消息:'Your payment has been successful',然后重定向到感谢页面(由插件 Woo Product 针对每个产品定制工具)。我一直在尝试在 Woo 文档中找到挂钩,但到目前为止还没有成功。我的最新代码是:
add_action( 'woocommerce_after_checkout_validation', 'message_after_payment' );
function message_after_payment(){
global $woocommerce;
$order = wc_get_order( $order_id );
if ( $order->has_status('processing') ){
wc_add_notice( __("Your payment has been successful", "test"), "success" );
}
}
如何实现?
提交订单(下订单)后,您无法在结帐页面上显示“成功”通知……您可以在“已收到订单(谢谢)”页面中执行此操作。同样在您的代码中,$order_id
未定义...
所以右钩子是 woocommerce_before_thankyou
使用 wc_print_notice()
函数代替:
add_action( 'woocommerce_before_thankyou', 'success_message_after_payment' );
function success_message_after_payment( $order_id ){
// Get the WC_Order Object
$order = wc_get_order( $order_id );
if ( $order->has_status('processing') ){
wc_print_notice( __("Your payment has been successful", "woocommerce"), "success" );
}
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
补充: 显示自定义 html 消息而不是 Woocommerce 通知
只需替换代码行:
wc_print_notice( __("Your payment has been successful", "woocommerce"), "success" );
例如:
echo '<p class='cudtom-message"> . __("Your payment has been successful", "woocommerce"), "success" ) . '</p>';
您可以根据需要在短信周围添加自己的 html。