SearchWP Documentation

Visualizza la guida all'installazione, sfoglia la Knowledge Base, scopri i numerosi hook di SearchWP

Compatibilità con JetSmartFilters per Elementor

SearchWP funziona con i modelli di archivio di ricerca personalizzati di Elementor, ma JetSmartFilters sovrascrive i risultati di SearchWP dirottando le query di archivio.

Utilizzo di JetEngine Listing Grid

Per integrare i risultati di SearchWP quando si utilizza JetEngine Listing Grid per visualizzare i risultati, è possibile utilizzare questo hook:

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 );

Utilizzo dell'archivio Elementor Pro

Ci sono due opzioni se si riscontra questo problema. Se non si utilizzano JetSmartFilters in nessuna pagina di archivio, è possibile navigare nella seguente schermata del menu di amministrazione di WordPress: Elementor > Impostazioni JetSmartFilters e deselezionare questa casella:

Una volta deselezionata, è possibile fare clic sul pulsante Salva e il problema sarà risolto.

Se, tuttavia, si utilizzano JetSmartFilters in altre pagine di archivio, è possibile utilizzare invece questo snippet per disabilitare JetSmartFilters nelle pagine di archivio di ricerca, consentendo di utilizzare la personalizzazione del modello di archivio di ricerca di Elementor, utilizzando il widget Elementor Archive Posts per visualizzare i risultati della ricerca.

È una soluzione rapida; è possibile aggiungere questo snippet al file functions.php del tema (o a un plugin personalizzato creato) e consentirà la visualizzazione dei risultati di 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 );

Lo snippet sopra sfrutta le priorità di Jet Smart Filter sui suoi hook interni per impedirgli di sovrascrivere i risultati di SearchWP nelle pagine di archivio dei risultati di ricerca.

Crea Oggi Stesso una Migliore Esperienza di Ricerca WordPress

Non perdere mai più visitatori a causa di risultati di ricerca inutili. SearchWP rende la creazione della tua ricerca intelligente WordPress veloce e facile.

Get SearchWP Now
Icona di motori di ricerca multipli