Показать на складе товары из определенных категорий на странице поиска или категории - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу показать out-of-stock товары определенных категорий на сайте.

В настоящее время я установил флажок Hide out of stock items from the catalog в настройке woocommerce.

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

Iпопытался найти решение, прочитав код, и обнаружил, что одна функция wc_get_product_visibility_term_ids вычисляет идентификаторы продуктов, которые должны быть скрыты (outofstock), но я не нашел никакого фильтра для этой функции.

Я применилэти два фильтра.

add_filter( 'woocommerce_product_is_in_stock', 'cs_show_out_of_stock_from_cat');
function cs_show_out_of_stock_from_cat( $isInStock ){
    global $product;
    if(in_array(40, $product->get_category_ids())){
        return true;
    }else{
        return $isInStock;
    }
}

add_filter('woocommerce_product_is_visible', 'cs_visible_out_of_stock_from_specific_product');
function cs_visible_out_of_stock_from_specific_product($visible){
    global $product;
    if(in_array(40, $product->get_category_ids())){
        return true;
    }else{
        return $visible;
    }
}

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

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