SearchWP Documentation

Consultez le guide d’installation, parcourez la base de connaissances, découvrez les nombreux hooks de SearchWP

Définir l'ordre de tri secondaire pour les résultats avec une pertinence correspondante

Il arrivera que la pertinence de plusieurs résultats de recherche soit exactement la même, laissant à MySQL le soin de décider comment trier ces résultats à pertinence égale.

En utilisant un \SearchWP\Mod, vous pouvez spécifier comment vous souhaitez que les résultats à pertinence égale soient triés.

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

<?php
// Add secondary sort to SearchWP results to sort matching
// relevance results by Title in ASC order.
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
global $wpdb;
$mod = new \SearchWP\Mod();
$mod->set_local_table( $wpdb->posts );
$mod->on( 'ID', [ 'column' => 'id' ] );
$mod->order_by( function( $mod ) {
return $mod->get_local_table_alias() . '.post_title';
}, 'ASC', 99 );
$mods[] = $mod;
return $mods;
}, 30, 2 );

En utilisant cet extrait, nous indiquons à SearchWP de mettre en œuvre un mécanisme de tri *secondaire* pour trier les résultats à pertinence égale par leur titre de publication défini dans l'ordre ASC.

Ceci est une clause de tri *secondaire* en raison de la priorité définie dans l'appel de la méthode order_by() qui est de 99. Lors de la définition d'une clause order_by() dans un \SearchWP\Mod, chaque clause est générée selon sa priorité dans l'ordre ASC.

Il existe un ordre par défaut principal pour toutes les requêtes SearchWP à la priorité 10 pour trier par pertinence dans l'ordre DESC.

Créez dès aujourd'hui une meilleure expérience de recherche WordPress

Ne perdez plus jamais de visiteurs à cause de résultats de recherche inutiles. SearchWP rend la création de votre propre recherche WordPress intelligente rapide et facile.

Get SearchWP Now
Icône de moteurs de recherche multiples