Forçar correspondências exatas para várias palavras
O suporte do SearchWP para pesquisa entre aspas/frases produz resultados que correspondem exatamente à pesquisa de várias palavras enviada. Por padrão, isso exige que o visitante coloque a string de correspondência exata entre aspas duplas, como é a prática comum em outros mecanismos de pesquisa.
Se você quiser forçar a lógica de correspondência exata para todas as pesquisas de várias palavras, podemos usar o seguinte hook:
Observação: você deve marcar a caixa de seleção para habilitar o suporte de pesquisa entre aspas na guia Avançado da tela de configurações do 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 ); |
Com este hook implementado, todas as pesquisas de várias palavras serão envolvidas em aspas duplas, produzindo resultados como se a pesquisa original estivesse entre aspas duplas.

