我设置了3种订阅类型,它们是分组产品。我在WooCommerce的订单接收(谢谢)页面上显示一个表单。问题是,当某人降级/升级订阅时,他可以使用不同的订单号再次填写表格。 如果有人切换订阅计划,我会尝试使用此代码重定向到我的帐户
add_filter('woocommerce_thankyou', 'redirect_if_switch_subscription');
function redirect_if_switch_subscription( $order_id ) {
$order = wc_get_order( $order_id );
$url = '/my-account/';
if ( $is_switched = order_contains_subscription($order_id) ) {
return $url;
}
}
答案 0 :(得分:0)
您可以尝试以下操作(未经测试):
add_filter('template_redirect', 'order_received_redirect_if_switch_subscription');
function order_received_redirect_if_switch_subscription( $order_id ) {
// Only on "Order received" page
if( is_wc_endpoint_url('order-received') ) {
global $wp;
$order_id = absint( $wp->query_vars['order-received'] );
$order = wc_get_order($order_id);
$subscriptions = wcs_order_contains_subscription( $order );
if ( sizeof($subscriptions) > 0 ) {
wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id') ) );
exit();
}
}
}
代码进入您的活动子主题(或活动主题)的function.php文件中。可以。