SearchWP Documentation

Veja o guia de instalação, navegue pela Base de Conhecimento, descubra os muitos hooks do SearchWP

Agrupar resultados de pesquisa por origem (tipo de postagem) e definir sua ordem

Por padrão, o SearchWP retornará resultados de todas as Origens dentro de um Mecanismo, classificados pelo peso de relevância em ordem decrescente.

Em alguns casos, é útil agrupar resultados por Origem e, dentro de cada grupo de Origem, classificar os resultados por relevância.

Podemos utilizar um \SearchWP\Mod para fazer exatamente isso.

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 );

Observação: Para que essa personalização seja totalmente eficaz, você precisará personalizar a matriz $source_order com os nomes das Origens (na ordem desejada) e ela deve incluir TODAS as Origens do Mecanismo.

O trecho acima referencia uma função utilitária para recuperar o nome interno da Origem do SearchWP para tipos de postagem, a origem Usuários é nomeada user e quaisquer outros nomes de Origem devem ser incluídos também.

Se você quiser aplicar essa classificação condicionalmente, pode examinar a variável $query para determinar se deseja sair cedo ou aplicar este \SearchWP\Mod retornando-o.

Veja também: Fazer um tipo de postagem aparecer acima de qualquer outro

Crie uma Experiência de Pesquisa WordPress Melhor Hoje

Nunca mais perca visitantes para resultados de pesquisa inúteis. O SearchWP torna a criação de sua própria pesquisa inteligente do WordPress rápida e fácil.

Get SearchWP Now
Ícone de Múltiplos Mecanismos de Busca