HUSKY - Product Filter for WooCommerce

Фильтр товаров для Divi: использование HUSKY с Divi

HUSKY работает с магазинами на Divi. Вставьте фильтр шорткодом [woof] в модуль Divi «Код» или «Текст» либо оставьте его виджетом в сайдбаре.

Модуль Divi Shop выводит товары через собственный шаблон, поэтому подключите его к фильтру этим кодом в functions.php дочерней темы:

//Make the Husky product filter work with page builder layouts 
add_action('pre_get_posts', function ($query) {
    if (is_object($query) AND isset($query->query['post_type'])) {
        if ($query->query['post_type'] === 'product' /* AND is_page(1867) */) {
            if (isset($query->query['wc_query']) AND 'product_query' == $query->query['wc_query']) {
                return $query;
            }
            
            global $WOOF;
            if (is_object($WOOF) AND !empty(woof()->get_request_data())) {
                woof()->woof_products_ids_prediction(['per_page'=>99999]);
                $query->query_vars['post__in'] = $_REQUEST['woof_wp_query_ids'];
            }
        }
    }

    return $query;
});

Раскомментируйте is_page(1867) и укажите ID своей страницы, чтобы ограничить фильтрацию одной страницей.

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