SearchWP Documentation

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

Añadir Peso a Entradas (posts) dentro de una Categoría Específica (término de taxonomía)

Por defecto, SearchWP considera el contenido real de los términos de taxonomía al realizar búsquedas. Dependiendo de cómo hayas configurado tu sitio, es posible que desees dar peso adicional a las entradas independientemente del término de taxonomía, sino que añadas el peso a todas las entradas que se les haya asignado un término de taxonomía específico.

All hooks should be added to your custom SearchWP Customizations Plugin.

<?php
// Add Weight to Entries (posts) within a Specific Category (taxonomy term) in SearchWP.
// @link https://searchwp.com/documentation/knowledge-base/add-weight-category-tag-term/
add_filter( 'searchwp\query\mods', function( $mods ) {
global $wpdb;
// Taxonomy bonus weight Mods.
$bonuses = [ [
'term_id' => 37, // Term ID to receive extra weight.
'weight' => 100, // How much extra weight for this term.
], [
'term_id' => 82, // Term ID to receive extra weight.
'weight' => 200, // How much extra weight for this term.
] ];
$term_mods = [];
foreach ( $bonuses as $bonus ) {
$mod = new \SearchWP\Mod();
$index_alias = $mod->get_foreign_alias();
$mod->relevance( "IF((
SELECT {$wpdb->prefix}posts.ID
FROM {$wpdb->prefix}posts
LEFT JOIN {$wpdb->prefix}term_relationships ON (
{$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id
)
WHERE {$wpdb->prefix}posts.ID = {$index_alias}.id
AND {$wpdb->prefix}term_relationships.term_taxonomy_id = {$bonus['term_id']}
LIMIT 1
) > 0, {$bonus['weight']}, 0)" );
$term_mods[] = $mod;
}
$mods = array_merge( $mods, $term_mods );
return $mods;
} );

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