Acessar um blog, site ou loja virtual e encontrar facilmente aquilo que estava procurando é o sonho de qualquer internauta. Muitas vezes a estrutura bem organizada mostra ao usuário coisas que ele queria, mas que nem sabia. A inteligência e planejamento fazem toda a diferença na hora de montar as áreas de suporte e ajuda para os seguidores do seu site.
Oferecer Posts Relacionados por Categoria no WordPress é um dos primeiros passos para deixar a coisa apresentável. Se você tem um portal de notícias – por exemplo, é imprescindível separar seus conteúdos por categorias. Deixar “à mão” dos seus leitores tudo que é sobre esportes, economia, moda e notícias do mundo é excelente para garantir uma navegabilidade fácil e confortável.
Posts Relacionados por Categoria no WordPress
Para conseguir organizar seu site utilizando de posts relacionados por categoria no WordPress, o CanalWP vai te mostrar diferentes formas de fazer isso. Primeiro vamos começar com a indicação e utilização de um plugin – ferramenta das mais práticas e eficazes que a plataforma oferece. A segunda maneira é utilizando de código PHP, com a manipulação do arquivo functions.php do seu tema e da implementação de regras CSS para deixar o visual legal.
Posts por Categoria Com Plugin
O Plugin
A utilização de plugins no WordPress para solucionar, adicionar e melhorar o nosso site é algo totalmente viável e indicado. Assim, se o que você busca é exibir posts relacionados por categoria nas áreas de widgets, o plugin Category Post Widget é uma boa escolha.
Para realizar o download do plugin você precisa clicar apenas no botão abaixo.
Se preferir baixar e instalar direto pela Dashboard do seu site, acesse Plugins > Adicionar Novo. Adicione o nome do plugin para realizar a busca e depois clique em Instalar agora.
Configuração
Depois que o plugin está instalado e ativado em seu site, blog ou loja WordPress, siga para a área de widgets (Aparência > Widgets). Na lista de widgets, que se encontra na lateral esquerda da sua tela, você verá um com o título Category Posts, arraste-o para a sidebar da sua preferência.
Primeiro, adicione um título para ser mostrado em seu site, escolha a Categoria de Posts que serão relacionados naquele widget, informe o número/quantidade de posts a exibir e como devem ser ordenados. Agora, você deve marcar ou desmarcar os checkboxes de acordo com a forma que você deseja que seus posts relacionados devem ser exibidos. O plugin, por meio de seu widget, permite que você defina a quantidade de palavras para o resumo do post e também as dimensões para a imagem de destaque do mesmo.
Configure tudo com calma e salve. Depois siga para o Front-End do seu site e veja se ficou da maneira que queria. Realize quantas mudanças forem necessárias até que fique do jeito que te agrada, bem como, esteja em harmonia com o seu layout.
Posts por Categoria Utilizando Código
Acessando o functions.php
Para implementarmos funções a serem aplicadas em nosso site WordPress, precisamos abrir e editar o arquivo functions.php do tema que estamos utilizando. Assim, você tem a opção de acessá-lo via Editor do WordPress (Aparência > Editor) ou por um software editor de código com ligação FTP (wp-content > themes > SEU TEMA > functions.php).
Implementação de Código
A seguir você verá uma função PHP criada para buscar um determinado número de posts, para a categoria que você mesmo irá informar – colocando apenas o nome da mesma.
function clwp_postsbycategory() { // Defino o Nome da Categoria e a Quantidade de Posts a serem exibidos $the_query = new WP_Query( array( 'category_name' => 'esportes', 'posts_per_page' => 10 ) ); // O Loop if ( $the_query->have_posts() ) { $string .= '<ul class="postsbycategory widget_recent_entries">'; while ( $the_query->have_posts() ) { $the_query->the_post(); if ( has_post_thumbnail() ) { $string .= '<li>'; $string .= '<a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_post_thumbnail($post_id, array( 50, 50) ) . get_the_title() .'</a></li>'; } else { // Se nenhuma imagem de destaque foi cadastrada, exibe apenas o título do post $string .= '<li><a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_title() .'</a></li>'; } } } else { // Nada será exibido se nenhum Post Relacionado por Categoria foi encontrado } $string .= '</ul>'; return $string; /* Restaura os dados originais do post */ wp_reset_postdata(); } // Adiciona um Shortcode add_shortcode('categoryposts', 'clwp_postsbycategory'); // Ativa shortcodes em Widgets de Texto add_filter('widget_text', 'do_shortcode');
Aqui nós criamos a função de nome clwp_postsbycategory. Na primeira linha estamos informando a categoria das quais os posts devem ser puxados, no exemplo informei a categoria esportes. Depois, informei que quero 10 posts. Assim, a função vai trazer 10 posts relacionados a categoria “esportes” e exibir como lista na área que você escolher em seu site.
Se você quiser utilizar dessa funcionalidade para exibir posts relacionados de diferentes categorias em seu site, basta copiar a mesma função acima e alterar o nome da mesma na primeira linha e na penúltima. Ainda na penúltima linha, onde tem categoryposts – você deve utilizar sempre um único nome. Pois, ali criamos o shortcode referente a nossa função e que não deve se repetir, ou você terá problemas.
Depois, informa o nome da referente categoria e pronto!
Como Exibir No Site
Função criada no functions.php, categoria e quantidade de posts informados e nome da shortcode único? Só o que falta é ver a coisa acontecer ao vivo em nosso site.
Se você quer exibir os posts em um ou mais arquivos específicos do seu tema, basta adicionar a linha de código a seguir:
<?php clwp_postsbycategory(); ?>
Quer exibir posts relacionados no WordPress por meio da utilização de widgets? Você precisa trabalhar com a shortcode que aponta para a função que faz a “mágica” acontecer. No nosso caso, a nossa shortcode é:
[categoryposts]
Copie a shortcode, abra um widget de Texto e cole a mesma. Salve tudo e vai lá no site para conferir como tudo está funcionando.
Deixando Bonito
Agora que você já tem a função que traz os posts relacionados, é preciso trabalhar as regras CSS para deixar a listagem dos mesmos com um visual legal e condizente com o seu site e tipo de negócio.
ul.postsbycategory { list-style-type: none; } ul.postsbycategory li{ margin: 5px 0; } .postsbycategory img { float:left; padding:3px; margin:3px; border: 3px solid #EEE; }
Conclusão
Buscar oferecer um ambiente organizado, prático e fácil de navegar para seus sites e blogs será o diferencial para o seu sucesso. Começar a exibir posts relacionados por categoria no WordPress é uma decisão acertada e que muito agradará aos seus leitores. Por isso, não meça esforços para fazer o seu empreendimento digital evoluir e ser mais eficaz para seu seguidores. Para um trabalho bem feito e importando-se com os usuários, a consequência não é nada menos que a fidelidade das pessoas.
Se você gostou desse artigo considere compartilhar nas redes sociais. Siga-nos nas redes sociais para acompanhar mais artigos como esse. Se de alguma forma este artigo lhe foi útil deixe seu comentário abaixo para podermos saber a sua opinião.
Ferramentas WordPress Veja Mais Ferramentas
Q2W3 Fixed Widget
MonsterInsights
WordFence
Eu achei bem interessante e legal sua publicação, só que eu não entendi muito o funcionamento do mesmo, faz tempo que pesquiso e vejo como incluir esse The Loop em meu site mas tá complicado, porque a formatação não cabe e quando modifico dá problemas. Será que teria alguma forma de incluir esse código utilizando o html junto a elepra adaptar de acordo com o layou da página?
Como exibir posts por categoria no plano free no WordPress?
Olá Deise,
Sempre que você cria uma categoria ela ganha uma página própria onde apenas os posts daquela categoria são exibidos.
Se você criar a categoria “maquiagem” o link vai ser algo assim:
=> http://www.seudominio.com/category/maquiagem
ou => http://www.seudominio.com/maquiagem
Recomendo que entre em contato com o suporte do wordpress[ponto]com caso não encontre a solução.
Abraço.
Me ajudou muito essa postagem. Como sempre o Canal WP com super dicas.
Olá Rodrigo,
Obrigado por deixar seu comentário.
Fico feliz que tenha encontrado a solução.
Abraço.
Sua indicação foi muito boa. Resolveu o meu problema.
Parabéns !
Olá Ricardo,
Obrigado por deixar seu comentário.
Fico muito feliz que tenha lhe ajudado.
Abraço.
Bacana o tutorial! Não trabalho com WordPress. Mais sou programador PHP e de vez em quando, alguém aparece pedindo socorro, e quando vou ver o site é WordPress. Sendy! Uma implementação no seu código PHP que vai melhora-lo. Ao invés de criar uma função para cada Post, basta add 2 parâmetros no seu código e eviar duas valores. O nome da categoria e o numero de POSTS. Assim uma única função servirá para tudo. ficaria assim: NO INÍCIO DO CÓDIGO – add os dois parâmetros ($nomedacategoria e $totalpost) function clwp_postsbycategory($nomedacategoria ,$totalpost) { ADD AS DUAS VÁRIAVEIS NO ARRAY DA FUNÇÃO… Continue Lendo »
Oi Sendy Muito bom o artigo. O site CanalWP me ajuda no trabalho. Mas eu tenho uma dúvida. Eu quero dividir as categorias de posts por páginas. O que eu fiz?Criei no admin do WP a pagina Produtos e um arquivo page-produtos.php. E dentro do page-produtos.php eu busco via funçãop WP_Query os post cuja categoria chama-se produtos. Assim eu tenho no menu todas as categorias de possuo no meu site. Ex. Produtos, Notícias, Serviços. É correto fazer isso que descrevi? Se não qual é a melhor forma de exibir em paginas separadas as categorias que tenho no site e mostrar… Continue Lendo »
Olá Renato,
O WordPress cria uma página de categoria automaticamente para você toda vez que você cria uma categoria. Normalmente a página vai se encontrar nesse link:
http://www.site.com.br/nome-da-categoria/
ou
http://www.site.com.br/category/nome-da-categoria/
Depende de como você usa seus permalinks.
Agora se você deseja customizar essa página, basta encontrar o arquivo category.php, arquive.php ou index.php. E modificar de acordo com a sua necessidade.
Você também pode criar um template, assim como você fez e adicionar as funcionalidades que achar necessária. Inclusive, você pode usar o código que se encontra em um dos arquivos mencionados acima para criar e modificar seu novo template.
Abraço.
Olá Gabriel Galvão
Obrigado pela resposta. Realmente não me liguei que podia ter nativamente na pagina category.php o que eu tive que fazer em uma page.php modificada. Obrigado a todos vocês do site por por compartilharem os seus conhecimentos.
Oi Sendy Muito bom o artigo. O site CanalWP me ajuda no trabalho. Mas eu tenho uma dúvida. Eu quero dividir as categorias de posts por páginas. O que eu fiz?Criei no admin do WP a pagina Produtos e um arquivo page-produtos.php. E dentro do page-produtos.php eu busco via funçãop WP_Query os post cuja categoria chama-se produtos. Assim eu tenho no menu todas as categorias de possuo no meu site. Ex. Produtos, Notícias, Serviços. É correto fazer isso que descrevi? Se não qual é a melhor forma de exibir em paginas separadas as categorias que tenho no site e mostrar… Continue Lendo »
Olá Renato,
O WordPress cria uma página de categoria automaticamente para você toda vez que você cria uma categoria. Normalmente a página vai se encontrar nesse link:
http://www.site.com.br/nome-da-categoria/
ou
http://www.site.com.br/category/nome-da-categoria/
Depende de como você usa seus permalinks.
Agora se você deseja customizar essa página, basta encontrar o arquivo category.php, arquive.php ou index.php. E modificar de acordo com a sua necessidade.
Você também pode criar um template, assim como você fez e adicionar as funcionalidades que achar necessária. Inclusive, você pode usar o código que se encontra em um dos arquivos mencionados acima para criar e modificar seu novo template.
Abraço.
Olá Gabriel Galvão
Obrigado pela resposta. Realmente não me liguei que podia ter nativamente na pagina category.php o que eu tive que fazer em uma page.php modificada. Obrigado a todos vocês do site por por compartilharem os seus conhecimentos.