Você deseja exibir uma lista de posts relacionados em seu site WordPress e prefere usar código em vez de um plugin?
No WPBeginner, frequentemente enfatizamos a importância de engajar seu público e mantê-lo explorando seu conteúdo. Uma estratégia eficaz que vimos ser usada em inúmeros sites WordPress de sucesso é a exibição de posts relacionados.
Quando os visitantes do seu blog terminam de ler um artigo de seu interesse, oferecer uma lista de posts relacionados os manterá engajados e os ajudará a encontrar novo conteúdo para ler.
Neste artigo, mostraremos como exibir posts relacionados no WordPress usando código, sem a necessidade de plugin.

Por que Exibir Posts Relacionados no WordPress?
Quando seu blog WordPress começa a crescer, pode se tornar mais difícil para os usuários encontrarem outros posts sobre o mesmo tópico.
Exibir uma lista de conteúdo relacionado no final de cada postagem do blog é uma ótima maneira de manter seus visitantes em seu site e aumentar as visualizações de página. Também ajuda a melhorar a visibilidade de suas páginas mais importantes, exibindo seu melhor conteúdo onde as pessoas podem encontrá-lo facilmente.
Se você não está familiarizado com código, então achará mais simples escolher um dos muitos plugins de posts relacionados para WordPress que podem exibir posts relacionados sem código.
Mas, se você já se perguntou se pode exibir posts relacionados sem usar um plugin, compartilharemos dois algoritmos diferentes que você pode usar para gerar posts relacionados com miniaturas usando apenas código:
- Método 1: Como Mostrar Posts Relacionados no WordPress por Tags
- Método 2: Como Mostrar Posts Relacionados no WordPress por Categoria
- Guias de Especialistas sobre Posts Relacionados no WordPress
Observação: Se você deseja mostrar uma miniatura com cada post relacionado, certifique-se de primeiro adicionar uma imagem em destaque a esses posts.
Método 1: Como Mostrar Posts Relacionados no WordPress por Tags
Uma maneira eficiente de localizar conteúdo relacionado é procurar outros posts que compartilham as mesmas tags. Tags são frequentemente usadas para focar nos detalhes específicos contidos em um post.
Com isso em mente, você pode querer adicionar algumas tags comuns aos posts que deseja relacionar. Você pode inseri-las na caixa 'Tags' no editor do WordPress.

Depois de adicionar tags aos seus posts, a próxima coisa a fazer é adicionar o seguinte trecho de código ao template single.php do seu tema.
Se precisar de ajuda para adicionar código ao seu site, consulte nosso guia sobre como colar snippets da web no WordPress.
$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="relatedposts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();
Este código procura tags associadas a uma página e, em seguida, executa uma consulta ao banco de dados para buscar páginas com tags semelhantes.
Onde você deve colocar o código? Isso depende do seu tema, mas na maioria dos casos, você poderá colar o código no template single.php do seu tema, após a postagem principal e logo acima da seção de comentários.
Se você estiver usando o tema Twenty Twenty-One, como estamos em nosso site de demonstração, um bom lugar para colar o código é no arquivo template-parts/content/content-single.php, após o cabeçalho e logo após <?php the_content();.

Isso exibirá automaticamente conteúdo relacionado em qualquer postagem do WordPress.
Você precisará alterar o estilo e a aparência de suas postagens relacionadas para que correspondam ao seu tema, adicionando CSS personalizado.

Dica: Em vez de editar os arquivos do seu tema, o que pode quebrar seu site, recomendamos o uso de um plugin de snippets de código como o WPCode.
O WPCode torna seguro e fácil adicionar código personalizado no WordPress. Além disso, ele vem com opções de 'Inserção' que permitem inserir e executar automaticamente snippets em locais específicos do seu site WordPress, como após uma postagem.

Para mais detalhes, veja nosso guia sobre como adicionar código personalizado no WordPress. Você também pode conferir nossa análise detalhada do WPCode para saber mais sobre o plugin.
Método 2: Como Mostrar Posts Relacionados no WordPress por Categoria
Outra forma de exibir conteúdo relacionado é listar postagens que estão na mesma categoria. A vantagem desse método é que a lista de postagens relacionadas quase nunca ficará em branco.
Assim como o Método 1, você precisa adicionar um snippet de código ao template single.php do seu tema ou em um plugin de snippets de código como o WPCode. Para mais detalhes, consulte o Método 1 e nosso guia sobre como adicionar código personalizado no WordPress.
$orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 2, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="related_posts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post();?>
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();
Agora você verá uma lista de conteúdo relacionado no final de cada postagem.
Se você quiser alterar a estilização e a aparência de suas páginas relacionadas, precisará adicionar CSS personalizado para combinar com seu tema.
Guias de Especialistas sobre Posts Relacionados no WordPress
Quer saber mais sobre como exibir posts relacionados no WordPress? Confira estes tutoriais úteis sobre posts relacionados:
- Como Exibir Posts Relacionados no WordPress (Passo a Passo)
- Como Exibir Posts Relacionados do Mesmo Autor no WordPress
- Como Exibir Posts Recentes no WordPress
- Como Exibir Posts Recentes de uma Categoria Específica no WordPress
- Como Adicionar Posts Relacionados Inline em Posts de Blog do WordPress
- Como Exibir Posts Aleatórios no WordPress
- Como Mostrar Páginas Relacionadas no WordPress
Esperamos que este tutorial tenha ajudado você a aprender como exibir posts relacionados com miniaturas no WordPress sem plugins. Você também pode querer aprender como rastrear visitantes em seu site WordPress, ou conferir nossa lista de 24 dicas para acelerar seu site.
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.


Jiří Vaněk
Posts relacionados são uma maneira incrível de atrair usuários para mais conteúdo em seu site. Depois de ler vários de seus artigos sobre este tópico, finalmente entendi o poder desse recurso e o implementei em minha página 404. Agora, em vez de mostrar o conteúdo que não existe mais, ele oferece alternativas e artigos semelhantes aos meus usuários. Isso reduziu drasticamente a taxa de rejeição do meu site. Obrigado não apenas por este artigo, mas também pelos outros artigos que você escreveu sobre este tópico. Eles me ajudaram a melhorar minha página 404.
WPBeginner Support
Glad to hear our content was helpful
Admin
kabir bairwa
Eu estava tentando corrigir posts relacionados ao WordPress, mas não estava funcionando quando vi este código e o usei em meu arquivo WordPress, então agora meus posts relacionados ao WordPress estão aparecendo corretamente.
WPBeginner Support
Feliz em saber que nosso guia pôde te ajudar!
Admin
Jennifer
Existe uma maneira de ter posts relacionados com base no título do post? Eu não tenho tags e minhas categorias realmente não funcionam, pois não há distinção entre elas.
Isso seria de grande ajuda se você tivesse um código para mostrar conteúdo relacionado com base no título do post.
aman
Quero um código para exibir posts e páginas aleatórios com miniatura.
WPBeginner Support
Você deve dar uma olhada no nosso guia abaixo:
https://www.wpbeginner.com/wp-tutorials/how-to-display-random-posts-in-wordpress/
Admin
karan4official
Em vez de usar <? use <?php em todos os lugares
WPBeginner Support
Thank you for your feedback, this article should currently be using the php version everywhere
Admin
Motahar Hossain
Obrigado pelo seu belo post.
Aqui, "ignore_sticky_posts" deve ser usado em vez de "caller_get_posts". Porque "caller_get_posts" está obsoleto.
WPBeginner Support
Thanks for pointing that out, we’ll be sure to look into updating the article
Admin
Frank
Você pode me direcionar para onde adicionar quais categorias eu gostaria de limitar os posts relacionados?
WPBeginner Support
Este método limita os posts à categoria em que o post se encontra. Para limitar as categorias, você precisaria criar uma instrução if para excluir certas categorias.
Admin
Greg
É possível onde há mais de X posts relacionados por categoria que estão relacionados que você pode randomizar, digamos, 3 posts?
WPBeginner Support
Embora seja possível, exigiria adicionar muito mais a isso; você pode querer procurar um plugin para esse tipo de personalização.
Admin
Akiode obasanjo
Nenhum CSS é adicionado
luigi
Olá, é possível limitá-los por data? Mostrar apenas os do último ano?
Luis
Encontrei uma maneira de fazer as miniaturas menores, mas elas são exibidas em coluna e não horizontalmente. Como isso pode ser modificado?
Luis
O script está funcionando bem. O único problema que tenho é que as miniaturas são muito grandes. Haveria alguma maneira de torná-las menores?
WPBeginner Support
Olá Luis,
Ele usa o tamanho de miniatura de post padrão. Você pode criar um novo tamanho de miniatura e depois usá-lo no código assim:
1-click Use in WordPress
Admin
Ana
como fazer para criar um shortcode para este código, criei a função mas não sei como retornar o print para a página.
Musarrof
Por que estou enfrentando este problema. erro de sintaxe, fim de arquivo inesperado
Por favor, me ajude.
Mike
Olá,
Sou iniciante no WordPress.
Gostaria de mostrar Posts Relacionados.
No menu principal tenho a Categoria A, e na Categoria A – Subcategorias A, B e C. Os posts estão na Categoria A, mas também podem estar presentes em todas as 3 Subcategorias.
Ao escolher um dos Posts Relacionados algo dá errado e os posts da Subcategoria inicialmente escolhida não são exibidos corretamente.
Anthony Reese
Obrigado pelo tutorial. Isso foi incrivelmente útil e funcionou perfeitamente!
pawan singh
Olá Administrador, Artigo muito informativo. Gosto do seu site pela simplicidade e clareza. Todos os artigos são diretos ao ponto, mas quando se trata de compartilhar conhecimento de código, você se torna muito técnico. Apenas ignore o fato de que muitos visitantes não são especialistas em codificação. Não seria muito melhor se você adicionasse apenas mais 2 ou 3 linhas à sua explicação para torná-la completa e facilmente compreensível para todos. De qualquer forma, ótimo artigo, mas quero saber qual código ou plugin o Wpbeginner está usando?
Ahmad
muito útil, obrigado!
Tracy
o que realmente chateia nos seus artigos é que você nunca diz COMO fazer algo. É tudo muito bom me dizer para colocar código no meu single.php, mas como iniciante, eu não sei o que é isso ou onde encontrá-lo. Você pode querer pensar em colocar esse tipo de informação crítica em seus artigos em vez de assumir que sabemos o que isso significa, ou que já lemos todos os seus artigos para descobrir.
Victor Siyaya
Concordo. Não tenho ideia de onde colar este código também.
Rose
Obrigado pelo ótimo post, muito útil. Deparei-me com um erro no código e queria partilhá-lo na esperança de que possa ser útil para outros no futuro. O erro foi:
WP_Query foi chamado com um argumento que está obsoleto desde a versão 3.1.0! “caller_get_posts” está obsoleto. Use “ignore_sticky_posts” em vez disso.
Então, simplesmente substituí-o e funcionou bem. Também estou a usar namespaces, então precisei de mudar WP_Query para \WP_Query, além de ter mudado a ordem do seguinte:
global $post;
$orig_post = $post;
Obrigado novamente
Rose
sanjeev Kumar
senhor
Estou usando o código de categorias funcionando corretamente, mas uma coisa é quando na página inicial a mesma categoria de 2 ou 3 posts, então o link aparece preto, mas eu quero que apareça a categoria que é o próximo post
Luan
Olá,
Obrigado pelo seu post. Adicionei o código em content-single.php e funcionou. No entanto, ele é exibido como 1 coluna, não 3 colunas como no seu exemplo. Poderia, por favor, ajudar-me com isto? Quero que os meus posts relacionados sejam exibidos em 1 linha, 3 colunas. Muito obrigado.
Claudio
Olá!
O primeiro link em Fontes Adicionais está quebrado.
Obrigado pelo código.
WPBeginner Support
Olá Claudio,
Obrigado por nos notificar. Removemos o link quebrado.
Admin