Forcer les correspondances exactes pour plusieurs mots
La prise en charge de la recherche entre guillemets/phrases par SearchWP produit des résultats qui correspondent exactement à la recherche soumise de plusieurs mots. Par défaut, cela exige que le visiteur encadre la chaîne de correspondance exacte avec des guillemets doubles, comme c'est la pratique courante dans d'autres moteurs de recherche.
Si vous souhaitez forcer la logique de correspondance exacte pour toutes les recherches de plusieurs mots, nous pouvons utiliser le hook suivant :
Remarque : vous devez cocher la case pour activer la prise en charge de la recherche entre guillemets dans l'onglet Avancé de l'écran des paramètres de SearchWP.
All hooks should be added to your custom SearchWP Customizations Plugin.
| <?php | |
| // Force multiple word searches to use quoted search logic if quotes are not added. | |
| // NOTE: Quoted search must be enabled (checkbox on the Advanced tab) | |
| add_filter( 'searchwp\query\search_string', function( $search_string, $query ) { | |
| // If there are already quotes, bail out. | |
| if ( false !== strpos( $search_string, '"' ) ) { | |
| return $search_string; | |
| } | |
| // If there's only one word, bail out. | |
| if ( false === strpos( $search_string, ' ') ) { | |
| return $search_string; | |
| } | |
| return '"' . $search_string . '"'; | |
| }, 30, 2 ); |
Avec ce hook en place, toutes les recherches de plusieurs mots seront encadrées par des guillemets doubles, produisant des résultats comme si la recherche d'origine était encadrée par des guillemets doubles.

