SearchWP Documentation

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

Raggruppa i risultati di ricerca per origine (tipo di post) e imposta il loro ordine

Per impostazione predefinita, SearchWP restituirà i risultati di tutte le Origini all'interno di un Motore, ordinati in base al peso della pertinenza in ordine decrescente.

In alcuni casi è utile raggruppare i risultati per Origine e all'interno di ciascun gruppo di Origini ordinare i risultati per pertinenza.

Possiamo utilizzare un \SearchWP\Mod per fare proprio questo.

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

<?php
// Group SearchWP results by Source, sort by relevance within each Source group.
// @link https://searchwp.com/documentation/knowledge-base/group-results-by-source-post-type/
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
$mod = new \SearchWP\Mod();
$mod->order_by( function( $mod ) {
// Search results should be grouped by Sources in this order.
// NOTE: _ALL_ Engine Sources must be included here!
$source_order = [
'user',
\SearchWP\Utils::get_post_type_source_name( 'post' ),
\SearchWP\Utils::get_post_type_source_name( 'page' ),
];
return "FIELD({$mod->get_foreign_alias()}.source, "
. implode( ',', array_filter( array_map( function( $source_name ) {
global $wpdb;
return $wpdb->prepare( '%s', $source_name );
}, $source_order ) ) ) . ')';
}, '', 1 );
$mods[] = $mod;
return $mods;
}, 10, 2 );

Nota: Affinché questa personalizzazione sia pienamente efficace, dovrai personalizzare l'array $source_order con i nomi delle Origini (nell'ordine desiderato) e questo deve includere TUTTE le Origini del Motore.

Lo snippet sopra fa riferimento a una funzione di utilità per recuperare il nome interno dell'Origine di SearchWP per i tipi di post, l'origine Utenti si chiama user e devono essere inclusi anche tutti gli altri nomi di Origine.

Se desideri applicare condizionalmente questo ordinamento, puoi esaminare la variabile $query per determinare se desideri uscire anticipatamente o applicare questo \SearchWP\Mod restituendola.

Vedi anche: Fai in modo che un tipo di post appaia sopra qualsiasi altro

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