Filtro de produtos Elementor: usando o HUSKY com o Elementor
O HUSKY funciona com lojas WooCommerce construídas no Elementor. Adicione o filtro a qualquer página com o shortcode [woof] em um widget de Shortcode, ou mantenha-o na barra lateral como um widget comum.
Se a grade de produtos for renderizada pelo próprio Elementor (um loop personalizado ou template de produtos), conecte-a ao filtro com este código no functions.php do tema filho:
add_action('pre_get_posts', function ($query) {
if (defined('ELEMENTOR_VERSION')) {
if (is_object($query) AND isset($query->query['post_type'])) {
if ($query->query['post_type'] === 'product' /* AND is_page(__YOUR_PAGE_ID__)*/) {
global $WOOF;
if (is_object($WOOF) AND !empty(woof()->get_request_data())) {
woof()->woof_products_ids_prediction(true);
$query->query_vars['post__in'] = $_REQUEST['woof_wp_query_ids'];
}
}
}
}
return $query;
});
Descomente is_page(__YOUR_PAGE_ID__) para executar a filtragem em apenas uma página específica.
Se o editor do Elementor parar de abrir enquanto o HUSKY estiver ativo, remova o registro do widget HUSKY do Elementor:
add_action('elementor/widgets/widgets_registered', function($widgets_manager)
{
$widgets_manager->unregister_widget_type('wp-widget-woof_widget');
});
Relacionados: Compatibilidade com Elementor, Tornar construtores de página e templates personalizados filtráveis