Filtre de produits Elementor : utilisation de HUSKY avec Elementor
HUSKY fonctionne avec les boutiques WooCommerce construites dans Elementor. Ajoutez le filtre à n'importe quelle page avec le shortcode [woof] dans un widget Shortcode, ou gardez-le dans la barre latérale comme widget standard.
Si la grille de produits est rendue par Elementor lui-même (une boucle personnalisée ou un modèle de produits), connectez-la au filtre avec ce code dans le thème enfant functions.php :
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;
});
Décommentez is_page(__YOUR_PAGE_ID__) pour exécuter le filtrage sur une seule page spécifique.
Si l'éditeur Elementor cesse de s'ouvrir alors que HUSKY est actif, désenregistrez le widget HUSKY d'Elementor :
add_action('elementor/widgets/widgets_registered', function($widgets_manager)
{
$widgets_manager->unregister_widget_type('wp-widget-woof_widget');
});
En relation : Compatibilité avec Elementor, Rendre les constructeurs de pages et les modèles personnalisés filtrables