Woocommerce - удалить все старые элементы корзины, если вы вошли в систему во время оформления заказа - PullRequest
0 голосов
/ 20 февраля 2019


Я пытаюсь удалить все старые элементы корзины, если пользователь входит в систему во время оформления заказа.

Например:
a.Пользователь добавляет 2 элемента несколько дней назад

- Кепка
- Шар

b.Затем он вышел из системы и сегодня добавляет несколько предметов в корзину для покупки.

- Толстовка с капюшоном
- Мобильный телефон

Его просятдля входа во время оформления заказа и в корзине 4 товара.

- Кепка
- Шар
- Толстовка с капюшоном
- Мобильный телефон

Как показать только два последних продукта и удалить старые.

- Толстовка с капюшоном
- Мобильный телефон



Я добавил следующий код в functions.php, но он удаляет все ранее добавленные продукты со всех страниц.

function clear_persistent_cart_after_login( $user_login, $user ) {
    $blog_id = get_current_blog_id();

    if ( metadata_exists( 'user', $user->ID, '_woocommerce_persistent_cart_' . $blog_id ) ) {
        delete_user_meta( $user->ID, '_woocommerce_persistent_cart_' . $blog_id );
    }
}
add_action('wp_login', 'clear_persistent_cart_after_login', 10, 2);

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

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