SearchWP Documentation

Sehen Sie sich die Installationsanleitung an, durchsuchen Sie die Wissensdatenbank und erfahren Sie mehr über die vielen Hooks von SearchWP

Kompatibilit\"at mit JetSmartFilters f\"ur Elementor

SearchWP funktioniert mit benutzerdefinierten Sucharchivvorlagen von Elementor, aber JetSmartFilters überschreibt die Ergebnisse von SearchWP, indem es Archivabfragen abfängt.

Verwendung des JetEngine Listing Grid

Um die Ergebnisse von SearchWP bei Verwendung eines JetEngine Listing Grid zur Anzeige von Ergebnissen zu integrieren, können Sie diesen Hook verwenden:

All hooks should be added to your custom SearchWP Customizations Plugin.

<?php
// Integrate SearchWP with JetSmartFilters search using
// JetEngine Listing Grid to display results.
// @link https://searchwp.com/documentation/knowledge-base/compatibility-with-jetsmartfilters-for-elementor/
add_action( 'pre_get_posts', function( $wp_query ) {
if (
! isset( $wp_query->query['jet_smart_filters' ] )
|| empty( $wp_query->query['s'] )
) {
return;
}
$swp_query = new \SWP_Query( array(
'engine' => 'default',
's' => $wp_query->query['s'],
'fields' => 'ids',
'nopaging' => true
) );
$results = ! empty( $swp_query->posts ) ? $swp_query->posts : array( 0 );
$wp_query->set( 'post__in', $results );
$wp_query->set( 'post_type', 'any' );
$wp_query->set( 'post_status', 'any' );
$wp_query->set( 'orderby', 'post__in' );
$wp_query->set( 'order', 'DESC' );
$wp_query->set( 's', false );
}, 9999 );

Verwendung von Elementor Pro Archiv

Wenn Sie auf dieses Problem stoßen, gibt es zwei Möglichkeiten. Wenn Sie JetSmartFilters nicht auf Archivseiten verwenden, können Sie zum folgenden Bildschirm im WordPress-Admin-Menü navigieren: Elementor > JetSmartFilters Einstellungen und dieses Kontrollkästchen deaktivieren:

Sobald dies deaktiviert ist, können Sie auf die Schaltfläche Speichern klicken und das Problem ist behoben.

Wenn Sie JetSmartFilters jedoch auf anderen Archivseiten verwenden, können Sie stattdessen diesen Codeausschnitt verwenden, um JetSmartFilters auf Sucharchivseiten zu deaktivieren. Dadurch können Sie die Anpassung der Sucharchivvorlage von Elementor verwenden und das Elementor Archive Posts Widget zur Anzeige der Suchergebnisse nutzen.

Es ist eine schnelle Lösung. Sie können diesen Codeausschnitt zur functions.php-Datei Ihres Themes (oder einem von Ihnen erstellten benutzerdefinierten Plugin) hinzufügen, und er ermöglicht die Anzeige der Ergebnisse von SearchWP:

<?php
// Prevents JetSmartFilters from overriding SearchWP's results.
// @link https://searchwp.com/documentation/knowledge-base/compatibility-with-jetsmartfilters-for-elementor/
add_action( 'init', function() {
add_filter( 'elementor/theme/posts_archive/query_posts/query_vars', function( $query ) {
if ( is_search() && is_main_query() ) {
remove_all_filters( 'elementor/theme/posts_archive/query_posts/query_vars' );
}
return $query;
}, -1 );
}, -998 );

Der obige Codeausschnitt nutzt die Prioritäten der internen Hooks von Jet Smart Filter, um zu verhindern, dass diese die Ergebnisse von SearchWP auf Suchergebnisarchivseiten überschreiben.

Erstellen Sie noch heute eine bessere WordPress-Sucherfahrung

Verlieren Sie nie wieder Besucher an unzureichende Suchergebnisse. SearchWP macht die Erstellung Ihrer eigenen intelligenten WordPress-Suche schnell und einfach.

Get SearchWP Now
Symbol für mehrere Suchmaschinen