Como Exibir Produtos do WooCommerce em Ordem Aleatória

Aprenda como exibir produtos em ordem aleatória no WooCommerce e alterar facilmente para outras formas de ordenação.

Manter a organização e a apresentação dos produtos na sua loja WooCommerce é fundamental para otimizar a experiência do usuário e, consequentemente, aumentar a taxa de conversão.

Em períodos estratégicos, como a Black Friday, ofertas especiais ou coleções temáticas, uma abordagem dinâmica pode ser muito eficaz. Exibir os produtos em ordem aleatória (randomizada) a cada visita é uma tática inteligente para:

  • Destacar diferentes itens a cada carregamento de página.
  • Incentivar o cliente a navegar por mais produtos.
  • Melhorar a descoberta de itens que ficariam “escondidos” no final de uma lista ordenada de forma padrão.

Neste guia da Mutt Studio, você aprenderá a implementar facilmente uma ordenação aleatória em uma categoria específica do WooCommerce, além de ver como alterar essa ordenação para outros critérios, como preço, data e popularidade.

Código para Exibir uma Categoria em Ordem Aleatória

Para aplicar a ordenação aleatória em uma categoria específica, você precisará adicionar o snippet de código abaixo.

Onde Inserir o Código: Adicione este código no arquivo functions.php do seu tema filho (child theme) ou, de forma mais recomendada, em um plugin personalizado para garantir que a funcionalidade não seja perdida em atualizações do tema.

/*
 * Ordem aleatoria para categoria especifica (Mutt Studio)
 */
add_action('pre_get_posts', 'mutt_random_order_black_november');

function mutt_random_order_black_november($query) {
    // Verifica se é a query principal e se está no frontend
    if (!is_admin() && $query->is_main_query()) {

        // Verifica se está na categoria de produtos "black-november"
        if (is_product_category('black-november')) {
            $query->set('orderby', 'rand');
        }
    }
}

O que o Código Faz

Este snippet utiliza o hook pre_get_posts do WordPress para interceptar a consulta (query) de produtos antes que ela seja executada. Ele garante que:

  1. A alteração só seja feita no frontend da loja.
  2. A alteração só ocorra na consulta principal da página.
  3. A ordenação (orderby) seja definida como rand (aleatória) apenas quando o usuário estiver visualizando a categoria com o slug black-november.

Como Alterar a Forma de Ordenação (Outras Opções)

Caso você queira aplicar uma ordenação diferente da aleatória (rand), basta substituir o $query->set('orderby', 'rand'); e adicionar os parâmetros de ordenação desejados dentro da mesma função.

Por Preço (Menor para Maior) – Crescente

Útil para mostrar os produtos mais acessíveis primeiro.

$query->set('orderby', 'meta_value_num');
$query->set('meta_key', '_price');
$query->set('order', 'ASC'); // ASC = Ascendente

Por Preço (Maior para Menor) – Decrescente

Ideal para destacar itens premium ou de maior valor.

$query->set('orderby', 'meta_value_num');
$query->set('meta_key', '_price');
$query->set('order', 'DESC'); // DESC = Descendente

Por Data (Novidades Primeiro)

Perfeito para a categoria “Lançamentos” ou “Novidades”.

$query->set('orderby', 'date');
$query->set('order', 'DESC');

Por Popularidade (Mais Vendidos)

Uma das formas mais eficazes para gerar prova social.

$query->set('meta_key', 'total_sales');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'DESC'); // Opcional, mas recomendado para mais vendidos primeiro

Como Alterar a Categoria Alvo

No snippet original, a categoria alvo é identificada pelo seu slug:

if (is_product_category('black-november')) {
    // ...
}

Para aplicar a regra de ordenação em outra categoria, basta trocar o slug black-november pelo slug da categoria que você deseja modificar. O slug é a versão amigável do nome, geralmente em letras minúsculas e sem acentos, que aparece na URL da categoria.

Exemplos:

  • Para a categoria Promoções: is_product_category('promocoes')
  • Para a categoria Novidades: is_product_category('novidades')
  • Para a categoria Lançamentos: is_product_category('lancamentos')

Essa flexibilidade na ordenação de produtos é uma ferramenta poderosa para gerenciar o seu e-commerce e direcionar a atenção do cliente para onde você deseja!

Até a próxima! 🚀

Anúncio
Categorias
Tags