SearchWP Documentation

Consulta la guía de instalación, explora la base de conocimiento, descubre los numerosos hooks de SearchWP

Agrupar resultados de búsqueda por fuente (tipo de publicación) y establecer su orden

Por defecto, SearchWP devolverá resultados de todas las Fuentes dentro de un Motor, clasificados por peso de relevancia en orden descendente.

En algunos casos, es útil agrupar los resultados por Fuente y, dentro de cada grupo de Fuentes, ordenar los resultados por relevancia.

Podemos utilizar un \SearchWP\Mod para hacer precisamente eso.

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

Nota: Para que esta personalización sea completamente efectiva, deberá personalizar la matriz $source_order con los nombres de las Fuentes (en el orden que desee) y debe incluir TODAS las Fuentes del Motor.

El fragmento anterior hace referencia a una función de utilidad para recuperar el nombre interno de Fuente de SearchWP para los tipos de publicación; la Fuente de Usuarios se llama user y también se deben incluir los nombres de cualquier otra Fuente.

Si desea aplicar esta clasificación de forma condicional, puede examinar la variable $query para determinar si desea salir temprano o aplicar este \SearchWP\Mod devolviéndola.

Ver también: Hacer que un tipo de publicación aparezca por encima de cualquier otro

Cree hoy mismo una mejor experiencia de búsqueda en WordPress

No vuelva a perder visitantes por resultados de búsqueda inútiles. SearchWP facilita la creación de su propia búsqueda inteligente en WordPress.

Get SearchWP Now
Icono de múltiples motores de búsqueda