Как скрыть товары, которых нет в наличии, с главной страницы в WooCommerce

Чтобы скрыть товары, которых нет в наличии, только на главной странице WooCommerce, вы можете реализовать различные методы. Вот несколько подходов:

  1. Использование плагина. Вы можете использовать плагин, например «WooCommerce Hide Products» или «WooCommerce Show Single Variations», чтобы скрыть товары, которых нет в наличии, специально на главной странице. Эти плагины предлагают настройки для управления видимостью продукта в зависимости от его состояния на складе.

  2. Пользовательский CSS. Другой способ — добавить в тему собственный CSS-код. Найдите класс CSS или идентификатор, связанный со списками продуктов на главной странице, и используйте свойство display: none;, чтобы скрыть продукты, которых нет в наличии. Например:

    .home .product.out-of-stock {
    display: none;
    }

    Этот код нацелен на домашнюю страницу (класс .home) и скрывает товары с классом .out-of-stock.

  3. Код Custom Functions.php: вы можете добавить собственный код в файл functions.phpвашей темы. Этот код проверит состояние запасов каждого продукта и соответствующим образом изменит запрос продукта. Вот пример:

    function hide_out_of_stock_products_on_homepage($query) {
    if (is_home() && $query->is_main_query()) {
        $query->set('meta_query', array(
            array(
                'key'     => '_stock_status',
                'value'   => 'instock',
                'compare' => '=',
            ),
        ));
    }
    }
    add_action('pre_get_posts', 'hide_out_of_stock_products_on_homepage');

    Этот код проверяет, является ли текущая страница домашней (is_home()), и изменяет запрос продукта, чтобы исключить продукты, которых нет в наличии.