Как показать все скрытые товары в Woocommerce?

Каким образом можно изменить код, чтобы при наличии флажка "скрыть" в поле "Видимость", товар всегда имел значение "Каталог & поиск" по умолчанию и не скрывался?
  • 13 октября 2023 г. 10:48
Ответы на вопрос 1
Для отображения всех скрытых товаров в Woocommerce и изменения значения видимости по умолчанию можно использовать следующий код:

1. Откройте файл functions.php своей активной темы (дочерней или основной).

2. Добавьте следующий код в файл:

```php
add_filter( 'woocommerce_product_query_meta_query', 'show_hidden_products_in_catalog', 10, 2 );
function show_hidden_products_in_catalog( $meta_query, $query ) {
    if ( isset( $_GET['post_type'] ) && $_GET['post_type'] === 'product' ) {
        $meta_query[] = array(
            'key'     => '_visibility',
            'value'   => array( 'hidden', 'catalog' ),
            'compare' => 'IN',
        );
    }
    return $meta_query;
}

add_filter( 'default_product_visibility', 'default_visibility_catalog_search' );
function default_visibility_catalog_search( $visibility ) {
    return 'catalog_search';
}
```

3. Сохраните изменения в файле functions.php.

После этого, все скрытые товары будут отображаться в каталоге. Изменение значение видимости по умолчанию на "Каталог & поиск" будет применяться при создании новых товаров или редактировании существующих.
Похожие вопросы