SearchWP Documentation

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

Adicionar Peso a Entradas (posts) dentro de uma Categoria Específica (termo de taxonomia)

Por padrão, o SearchWP considera o conteúdo real dos termos de taxonomia ao realizar pesquisas. Dependendo de como você configurou seu site, pode ser que você queira dar peso extra às entradas, independentemente do termo de taxonomia, mas em vez disso adicionar o peso a todas as entradas que receberam um termo de taxonomia 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;
} );

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