Forzar coincidencias exactas para múltiples palabras
El soporte de SearchWP para búsquedas entre comillas/frases produce resultados que coinciden exactamente con la búsqueda de varias palabras enviada. Por defecto, esto requiere que el visitante envuelva la cadena de coincidencia exacta entre comillas dobles, como es la práctica común en otros motores de búsqueda.
Si desea forzar que la lógica de coincidencia exacta ocurra para todas las búsquedas de varias palabras, podemos usar el siguiente hook:
Nota: debe marcar la casilla para habilitar el soporte de búsqueda entre comillas en la pestaña Avanzado de la pantalla de configuración 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 ); |
Con este hook implementado, todas las búsquedas de varias palabras se envolverán entre comillas dobles, produciendo resultados como si la búsqueda original estuviera entre comillas dobles.

