Конечный пункт получения пользовательского заказа при переключении подписок - PullRequest
0 голосов
/ 25 февраля 2019

Я установил 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;
    }
}

1 Ответ

0 голосов
/ 25 февраля 2019

Вы можете попробовать следующее (не проверено):

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 вашей активной дочерней темы (или активной темы).Это может сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...