@DmitryShishov

Как сделать кастомный редирект в WooCommerce?

Как добавить новые условия редиректа по ролям пользователей и наличию регистрации WooCommerce?

Незарегистрированный пользователь покупает товар из определенной категории (учитывать ID), добавляет его в корзину и переходит на оформление заказа. Его проверяет на наличие регистрации. Если он зарегистрирован, то оформляет заказ. Если нет, его перекидывает на регистрацию и обратно на оформление заказа.

После оформления заказа, если он купил товар определенной категории, его перекидывает на кастомную страницу "Thank You", либо сразу на страницу редактирования аккаунта "edit-account" в личном кабинете.

В принципе, для незарегистрированного пользователя есть возможность включить автоматическое создание аккаунта при покупке товара, вот только надо добавить условие покупки товара из определенной категории. И сделать редирект после оформления заказа.

По ролям пользователей я решил. Если человек покупает товар, его автоматом переводит на новую роль:

add_action( 'woocommerce_order_status_completed', 'woo_change_role_on_purchase' );

function woo_change_role_on_purchase( $order_id ) {

// get order object and items
$order = new WC_Order( $order_id );
$items = $order->get_items();

$product_id = 222;

foreach ( $items as $item ) {

    if( $product_id == $item['product_id'] && $order->user_id ) {
        $user = new WP_User( $order->user_id );

        // Remove role
        $user->remove_role( 'customer' );

        // Add role
        $user->add_role( 'subscriber' );
    }

}

}
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы