通常在WooCommerce中,提交的订单会在付款完成后重定向到/order-received/
。
是否可以将客户重定向到特定付款方式的自定义页面?
例如:
Payment method 1 -> /order-received/
Payment method 2 -> /custom-page/
Payment method 3 -> /order-received/
答案 0 :(得分:4)
使用条件函数 template_redirect
在 is_wc_endpoint_url()
操作挂钩中附加自定义函数,并定位您所需的付款方式,将客户重定向到具体页面:
add_action( 'template_redirect', 'thankyou_custom_payment_redirect');
function thankyou_custom_payment_redirect(){
if ( is_wc_endpoint_url( 'order-received' ) ) {
global $wp;
// Get the order ID
$order_id = intval( str_replace( 'checkout/order-received/', '', $wp->request ) );
// Get an instance of the WC_Order object
$order = wc_get_order( $order_id );
// Set HERE your Payment Gateway ID
if( $order->get_payment_method() == 'cheque' ){
// Set HERE your custom URL path
wp_redirect( home_url( '/custom-page/' ) );
}
}
exit(); // always exit
}
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
此代码经过测试并有效。
如何获取付款网关ID(WC设置>结帐标签):
答案 1 :(得分:0)
稍作修正。
“退出”必须在最后一个条件之内
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")