Показана пользовательская страница пустой корзины. WooCommerce и тема Divi

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

Я уже пробовал добавить этот код в functions.php:

function custom_redirect_empty_cart() {
    // Replace 123 with the ID of your custom page
    $empty_cart_page_id = 123; // Change this to your page ID

    if ( WC()->cart->is_empty() && !is_cart() && !is_checkout() ) {
        wp_redirect( get_permalink( $empty_cart_page_id ) );
        exit;
    }
}
add_action( 'template_redirect', 'custom_redirect_empty_cart' );

Но это не сработало.

Вы можете помочь мне? Большое спасибо!

Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
0
0
76
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Не могли бы вы попробовать перепроверить правильность идентификатора страницы в коде, а также попытаться сбросить постоянную ссылку.

Вы можете сделать это, перейдя в «Настройки» > «Постоянные ссылки» и затем нажав «Сохранить изменения».

Не могли бы вы попробовать скопировать файл cars-empty.php из плагина WooCommerce (wp-content/plugins/woocommerce/templates/cart/cart-empty.php) в папку вашей темы, сохраняя путь следующим образом: wp-content /themes/divi/woocommerce/cart/cart-empty.php.

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

Более подробную информацию о шаблоне пустой корзины вы можете найти здесь.

https://woocommerce.github.io/code-reference/files/woocommerce-templates-cart-cart-empty.html

Решено! Моя проблема была связана со структурой постоянных ссылок, которая вызывала проблемы! После сброса все работает нормально. Большое спасибо!

Davide Stiglitz 30.06.2024 10:59

Страница, на которую вы перенаправляете, должна быть создана + идентификатор должен быть идентификатором, а не адресом страницы. Рабочий код приведен ниже.

add_action( 'template_redirect', 'custom_redirect_empty_cart' );

function custom_redirect_empty_cart(){
    $empty_cart_page_id = 52;

    if ( WC()->cart->is_empty() && is_cart() && !is_checkout() ){
        wp_safe_redirect(get_permalink($empty_cart_page_id));
        exit;
    }
}

Другие вопросы по теме