SearchWP Documentation

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

Ordenar Resultados de Produtos por Vendas Totais

SearchWP classifica os resultados da pesquisa com base em quão bem eles correspondem aos termos de pesquisa. Essa classificação usa as configurações de peso que você configura em suas configurações do motor para diferentes campos de conteúdo. No entanto, para lojas WooCommerce, você pode querer mostrar produtos com base em quantas vezes eles foram vendidos, em vez de apenas correspondência de conteúdo.

Ordenar produtos por vendas totais pode ajudar a aumentar a receita, mostrando primeiro seus produtos mais populares. Essa estratégia coloca os produtos que os clientes já gostam no topo dos resultados da pesquisa.

Ordenar Resultados por Vendas Totais

Se você quiser mostrar resultados de produtos ordenados por números de vendas, pode usar o código abaixo. Este método ignora a correspondência de conteúdo e mostra seus produtos mais vendidos primeiro, independentemente de quão bem eles correspondam aos termos de pesquisa.

<?php
// Order product search results by total sales
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
global $wpdb;
$mod = new \SearchWP\Mod();
$alias = \SearchWP::$index->get_alias();
$meta_alias = 'my_searchwp_sort_products';
$meta_key = 'total_sales';
$mod->column_as( $wpdb->prepare( "(
SELECT meta_value
FROM {$wpdb->postmeta}
WHERE
{$wpdb->postmeta}.post_id = {$alias}.id
AND {$wpdb->postmeta}.meta_key = %s
)", $meta_key ),
$meta_alias );
$mod->order_by( "{$meta_alias} + 0", 'DESC', 5 );
$mods[] = $mod;
return $mods;
}, 30, 2 );

Este código classifica seus resultados de pesquisa pelo número de vendas em ordem decrescente (do maior para o menor). A implementação tem precedência total sobre o algoritmo de relevância do SearchWP, o que significa que os produtos serão sempre ordenados pelo volume de vendas, independentemente de quão bem seu conteúdo corresponda à consulta de pesquisa.

Observação: Se dois ou mais produtos tiverem o mesmo número de vendas, sua ordem será determinada por uma classificação secundária baseada na relevância.

Impulsionar Produtos Populares Mantendo a Relevância

Se você quiser manter a classificação normal do SearchWP, mas dar pontos extras a produtos que vendem bem, pode usar uma abordagem diferente. Este método mantém a correspondência de conteúdo no lugar, mas impulsiona produtos populares para posições mais altas nos resultados.

<?php
// Boost relevance for WooCommerce products with high total sales
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
global $wpdb;
// Adjustable variables
$min_total_sales = 100; // Minimum sales required to qualify
$bonus_weight = 99999; // Base relevance weight
$sales_multiplier = 100; // Extra relevance per sale
$search_term = trim( $query->get_keywords() );
if ( empty( $search_term ) ) {
return $mods;
}
$mod = new \SearchWP\Mod();
$mod->set_local_table( $wpdb->posts );
$mod->on( 'ID', [ 'column' => 'id' ] );
$mod->relevance( function( $runtime ) use ( $wpdb, $min_total_sales, $bonus_weight, $sales_multiplier ) {
$alias = $runtime->get_local_table_alias();
return "
CASE
WHEN {$alias}.post_type = 'product'
AND (
SELECT CAST(pm.meta_value AS UNSIGNED)
FROM {$wpdb->postmeta} pm
WHERE pm.post_id = {$alias}.ID
AND pm.meta_key = '_total_sales'
LIMIT 1
) >= {$min_total_sales}
THEN
{$bonus_weight} +
(
SELECT CAST(pm.meta_value AS UNSIGNED)
FROM {$wpdb->postmeta} pm
WHERE pm.post_id = {$alias}.ID
AND pm.meta_key = '_total_sales'
LIMIT 1
) * {$sales_multiplier}
ELSE 0
END
";
});
$mods[] = $mod;
return $mods;
}, 20, 2 );

Este código adiciona pontos de bônus a produtos que venderam um certo número de vezes. O bônus inclui uma pontuação base mais pontos extras com base nas vendas totais. Isso significa que produtos populares obtêm classificações mais altas, enquanto o SearchWP ainda considera quão bem os produtos correspondem aos termos de pesquisa.

Ajustando as Configurações

O código inclui três configurações que você pode alterar para controlar como o impulso funciona:

Vendas Totais Mínimas ($min_total_sales): Definido como 100 por padrão. Este é o número de vendas que um produto precisa antes de receber o impulso. Altere este número com base nas vendas típicas da sua loja.

Peso do Bônus ($bonus_weight): Definido como 99999 por padrão. Esta é a pontuação base adicionada a produtos que se qualificam. Números mais altos dão aos produtos populares uma vantagem maior.

Multiplicador de Vendas ($sales_multiplier): Definido como 100 por padrão. Este número é multiplicado pelas vendas totais do produto para adicionar mais pontos. Números mais altos criam uma diferença maior entre produtos moderadamente populares e muito populares.

Adicionando o Código

Você pode adicionar os hooks personalizados usando um plugin de snippet de código como o WPCode, ou criando um plugin de personalizações do SearchWP como explicado nesta documentação do SearchWP.

Assim que você adicionar e ativar o código, o SearchWP começará a usar sua nova estratégia de ordenação imediatamente. Com o método de impulso, os produtos com vendas suficientes aparecerão no topo dos resultados, seguidos por outros produtos correspondentes.

Acompanhe os Resultados com as Métricas do SearchWP

Depois de adicionar uma estratégia de ordenação baseada em vendas, use a extensão Métricas do SearchWP para ver como ela se sai ao longo do tempo. As métricas mostram quantos cliques seus produtos mais vendidos recebem em comparação com outros resultados. Isso ajuda você a entender se a nova ordenação está funcionando bem.

Ao analisar os dados de cliques nas Métricas, você pode ver se os clientes encontram o que desejam mais rapidamente, ou se eles estão pulando produtos bons que não vendem tanto. Use essas informações para ajustar sua estratégia, alterar as configurações no código ou tentar abordagens diferentes para encontrar o que funciona melhor para sua loja.

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