
🔗 Publicações relacionadas no Elementor através de um filtro de consulta personalizado
O widget padrão de Publicações no Elementor Pro faz três coisas: publicações recentes, por categoria e uma lista manual. Mas quando precisa de um bloco de «Publicações Relacionadas» por baixo de um artigo, que corresponda à publicação atual por etiquetas e categorias, não existe uma opção integrada. Sim, o menu suspenso Origem tem um item «Relacionado» desde a versão 2.5, mas a lógica é primitiva: publicações das mesmas categorias, sem considerar o peso da correspondência. O resultado é previsível: o bloco parece uma seleção aleatória, em vez de uma recomendação com significado.
O objetivo: manter o design do cartão do Elementor, mas entregar a consulta a um plugin de terceiros que calcula a relevância em todas as taxonomias associadas de uma só vez. O resultado é um bloco de «Publicações Relacionadas» onde cada publicação seguinte está genuinamente mais próxima do que o leitor está a ver neste momento, em vez de apenas preencher a grelha.
O método funciona com PHP puro, sem extras adicionais e sem edição de templates. O Elementor renderiza o cartão, o plugin Related Posts By Taxonomy calcula os IDs e o hook elementor/query/{$query_id} liga as duas coisas. Dez minutos de configuração e o bloco fica ativo.
💡 Visão geral rápida:
- Instale o plugin gratuito
Related Posts By Taxonomy: encontra publicações relacionadas por categorias, etiquetas e taxonomias personalizadas partilhadas, sem sobrecarga no frontend. - No widget de Publicações do Elementor Pro, defina um Query ID único; esta string tornar-se-á o nome do hook para intercetar a
WP_Query. - Adicione um snippet PHP ao seu site: a função obtém um array de IDs do plugin e passa-o à consulta do Elementor através de
post__in. - Ajuste a contagem, a ordem, o template de saída e a cache através dos filtros do plugin, de acordo com as suas necessidades.
Related Posts by Taxonomy: o que está por baixo do capô
O plugin Related Posts By Taxonomy está no repositório oficial do WordPress.org desde 2014. Em junho de 2026, versão 2.7.9, testado até ao WordPress 7.0, mais de 10 000 instalações ativas. O autor, Kees Meijer, mantém o plugin de forma consistente: a versão mais recente saiu dias antes desta publicação.
O principal argumento de venda é uma pegada mínima. Sem painel de administração no dashboard, sem scripts extra no frontend, sem escritas na base de dados. Toda a configuração é feita através de filtros e atributos de shortcode. Para um programador, isto é uma vantagem: uma instalação limpa, comportamento previsível, zero peso desnecessário.
O algoritmo classifica as publicações pelo número de termos de taxonomia partilhados. Uma publicação que acumule mais correspondências em categorias e etiquetas com o artigo atual recebe a prioridade mais alta. O plugin não funciona apenas com categorias e etiquetas padrão; deteta taxonomias personalizadas registadas através do WooCommerce, ACF ou CPT UI. E como suporta tipos de publicação personalizados, o bloco de «Publicações Relacionadas» pode aparecer também em páginas de portefólio e em secções personalizadas.
Configurar o widget de Publicações no Elementor
Adicione o widget Publicações da biblioteca do Elementor Pro à sua página de Template de Publicação Única. Configure o skin (Cartões ou Clássico) e obtenha o design que deseja: imagem destacada, título, data, excerto. Nesta fase, o widget mostra as publicações mais recentes do blogue, e isso é esperado.
Agora, o passo fundamental. Na barra lateral de edição, abra o separador Consulta. Encontre o campo Query ID e introduza um identificador único, por exemplo related_posts_by_tax. Esta string exata tornar-se-á o nome do hook elementor/query/related_posts_by_tax, que usaremos para intercetar a consulta.

O parâmetro Query ID está disponível no Elementor Pro desde a versão 2.0. Foi concebido especificamente para programadores: define um identificador de string e depois anexa a sua função de callback ao hook elementor/query/{your_id}. A documentação detalhada está no portal do programador do Elementor.
Deixe as restantes definições de Consulta (Tipo de Publicação, Taxonomias, Ordenar Por) como estão. Elas continuam a aplicar-se e o nosso filtro é adicionado por cima. Por exemplo, se o Tipo de Publicação do widget estiver definido como «Publicações», o plugin Related Posts By Taxonomy procurará entradas relacionadas apenas entre publicações do blogue.
Snippet PHP: ligar os dois plugins
O código consiste numa única chamada add_action e uma função curta. Chama o método km_rpbt_get_related_posts() do plugin, obtém um array de IDs de publicações relevantes e passa-o à WP_Query através do parâmetro post__in.
Adicione o snippet ao functions.php do seu tema filho ou através do plugin Code Snippets:
1 /** 2 * Replaces the Elementor Posts widget query with related posts. 3 * Uses the Related Posts By Taxonomy plugin. 4 * 5 * @param \WP_Query $query The Elementor query object. 6 */ 7 add_action( 'elementor/query/related_posts_by_tax', 'sdstudio_related_posts' ); 8 function sdstudio_related_posts( $query ) { 9 global $post; 10 11 $related_ids = km_rpbt_get_related_posts( 12 $post->ID, 13 array( 'fields' => 'ids' ) 14 ); 15 16 if ( ! empty( $related_ids ) ) { 17 $query->set( 'post__in', $related_ids ); 18 $query->set( 'orderby', 'post__in' ); 19 } 20 }
Explicação linha a linha:
elementor/query/related_posts_by_taxé o hook cujo nome corresponde ao Query ID no widget. Se usou um ID diferente, substitua a string.global $postdá acesso à publicação atual, que serve como ponto de partida.km_rpbt_get_related_posts()é a função do plugin que devolve um array de IDs de publicações relacionadas. O parâmetro'fields' => 'ids'acelera a consulta: o plugin não vai buscar objetos completos.$query->set( 'post__in', $related_ids )limita estritamente aWP_Queryapenas às publicações encontradas.$query->set( 'orderby', 'post__in' )preserva a ordem devolvida pelo plugin, da mais relevante para a menos.
Tecnicamente, são executadas duas consultas: primeiro o plugin encontra os IDs, depois o Elementor vai buscar os objetos completos por esses IDs. Na prática, com 3 a 5 publicações relacionadas, a sobrecarga é insignificante. Para o máximo desempenho, ative a opção de cache persistente do plugin; esta guarda os resultados em cache durante um período especificado.
Afinar o resultado
O snippet acima é a versão básica. A partir daqui, a consulta pode ser personalizada para as suas necessidades específicas.
Limitar a contagem. Por predefinição, o plugin devolve até 5 publicações. Para alterar o limite, passe o parâmetro posts_per_page:
1 $related_ids = km_rpbt_get_related_posts( 2 $post->ID, 3 array( 4 'fields' => 'ids', 5 'posts_per_page' => 3, 6 ) 7 );
Excluir a publicação atual. O plugin faz isto automaticamente, mas se quiser uma salvaguarda extra, adicione $query->set( 'post__not_in', array( $post->ID ) ).
Limitar por data. Mostrar apenas publicações dos últimos 12 meses:
1 $related_ids = km_rpbt_get_related_posts( 2 $post->ID, 3 array( 4 'fields' => 'ids', 5 'limit_month' => 12, 6 ) 7 );
Alterar o template de saída. O plugin suporta templates HTML personalizados através do filtro rpbt_template. Coloque um ficheiro related-posts-by-taxonomy.php na pasta do seu tema e o markup é totalmente seu. A documentação com exemplos está no site do autor; para um plugin gratuito, é impressionantemente detalhada.
Modo Ajax. Se o bloco de publicações relacionadas ficar muito abaixo do dobramento da página, ative o carregamento lazy através do filtro rpbt_ajax_load; o plugin irá buscar as publicações de forma assíncrona, sem afetar o First Contentful Paint.
Este vídeo da equipa do Elementor demonstra a gestão avançada de consultas em ação, incluindo a seleção de publicações relacionadas e a filtragem por data:
⁉️🤔 Perguntas frequentes
É necessário o Elementor Pro para este método?
Sim, o filtro de consulta personalizado
elementor/query/{$query_id}está disponível apenas no Elementor Pro. A versão gratuita não tem um widget de Publicações com um campo Query ID.
E se o plugin não encontrar publicações relacionadas?
Certifique-se de que as suas publicações partilham taxonomias comuns. O plugin procura correspondências em todas as taxonomias públicas associadas ao tipo de publicação. Se as publicações estiverem distribuídas por categorias não sobrepostas, não haverá publicações relacionadas. Configure um fallback: por exemplo, mostre as publicações mais recentes da mesma categoria.
Esta abordagem pode ser usada com tipos de publicação personalizados?
Sim. Especifique o Tipo de Publicação desejado nas definições de Consulta do widget do Elementor e o plugin
Related Posts By Taxonomyirá detetar automaticamente as taxonomias registadas para esse tipo. O método funciona com portefólios, produtos WooCommerce e qualquer CPT.
O método funciona com um tema de blocos (Full Site Editing)?
O widget de Publicações do Elementor Pro não depende do tema; funciona tanto em temas clássicos como de blocos. O requisito principal é que o template de Publicação Única seja gerido através do Theme Builder do Elementor.
Em que é que este método é melhor do que a opção «Relacionado» integrada no Elementor?
A opção integrada simplesmente filtra publicações pelas mesmas categorias, sem considerar a contagem de correspondências e sem suporte para taxonomias personalizadas. O
Related Posts By Taxonomyclassifica as publicações em todas as taxonomias associadas simultaneamente e devolve as mais relevantes, não apenas as «da mesma categoria».
Vale a pena o esforço do filtro manual
Em blogues pequenos com um punhado de categorias, a opção «Relacionado» integrada no Elementor Pro é mais do que suficiente. Mas assim que surgem taxonomias personalizadas, vários tipos de publicação ou a necessidade de controlar com precisão a lógica de correspondência, um filtro manual via elementor/query/{$query_id} torna-se a única solução limpa, sem comprar add-ons adicionais.
O plugin Related Posts By Taxonomy resolve o problema com custo zero e não adiciona código extra ao frontend. A configuração demora 10 minutos e o resultado é um bloco de «Publicações Relacionadas» relevante, que mantém os visitantes no seu site durante mais tempo do que uma seleção aleatória de publicações recentes.
Experimente num ambiente de teste: crie um WordPress local, instale o plugin e o Elementor Pro, adicione o snippet e verifique se o método funciona exatamente como precisa.



