Elementor-Produktfilter: HUSKY mit Elementor verwenden
HUSKY funktioniert mit WooCommerce-Shops, die in Elementor erstellt wurden. Füge den Filter mit dem Shortcode [woof] in einem Shortcode-Widget auf jeder Seite ein oder lasse ihn als normales Widget in der Sidebar.
Wenn das Produktraster von Elementor selbst gerendert wird (eigener Loop oder Produkt-Template), verbinde es über diesen Code in der functions.php des Child-Themes mit dem Filter:
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;
});
Entferne die Kommentarzeichen bei is_page(__YOUR_PAGE_ID__), damit die Filterung nur auf einer bestimmten Seite läuft.
Wenn sich der Elementor-Editor mit aktivem HUSKY nicht mehr öffnet, hebe die Registrierung des HUSKY-Widgets in Elementor auf:
add_action('elementor/widgets/widgets_registered', function($widgets_manager)
{
$widgets_manager->unregister_widget_type('wp-widget-woof_widget');
});
Siehe auch: Kompatibilität mit Elementor, Seiten-Builder und benutzerdefinierte Vorlagen filterbar machen