Как проверить, находимся ли мы на странице корзины?

30 сент. 2017 г., 13:30:39
Просмотры: 39.4K
Голосов: 7

Я создаю плагин для отключения функции Cart в WooCommerce (хотя я знаю, что уже существуют подобные плагины), я уже удалил кнопку доступа к странице корзины.

Но как проверить, является ли URL адресом /cart? Есть ли в WordPress функция для этого?

Мне нужно сделать что-то вроде:

if (is_cart()) {
    redirect('home_page');
}

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

2
Комментарии

https://docs.woocommerce.com/document/conditional-tags/ посмотрите это

Bhautik Bhautik
30 сент. 2017 г. 14:36:00

Я попробовал проверить is_cart() в functions.php своей темы, но даже так у меня не работает.

Lai32290 Lai32290
1 окт. 2017 г. 02:30:29
Все ответы на вопрос 1
1
14

Не уверен, к какому хуку вы подключаете свою функцию, но возможно вы делаете это слишком рано.

Подключитесь к хуку template_redirect и затем перенаправьте пользователя:

add_action('template_redirect','redirect_visitor');
function redirect_visitor(){
    if ( is_page( 'cart' ) || is_cart() ) {
        wp_safe_redirect(site_url());
        exit(); // Не забудьте эту строку
    }
}
1 окт. 2017 г. 04:32:48
Комментарии

Просто небольшое замечание, что parse_query тоже работает и выполняется раньше

Lucas Bustamante Lucas Bustamante
16 янв. 2020 г. 01:30:34