Articles

Como exibir as categorias de um post no WordPress

. : 21 de abril de 2015 : .

Tweet

Vamos dizer que você escreve sobre uma variedade de tópicos. Não seria uma boa idéia organizar seu conteúdo por tópico?

Por exemplo, você pode ter um blog de culinária. Os visitantes do seu site podem esperar ver o seu conteúdo organizado em categorias como so:

  • Saladas
  • Soups
  • Pastas
  • Aperitivos
  • Perfeitos

Isso tornaria mais fácil para os visitantes do seu site encontrar as coisas em que eles estão interessados. Tornar um site fácil de navegar faz seus visitantes felizes e os faz voltar.

Antes de continuarmos, você deve saber que a organização do seu site por categorias pode afetar a sua otimização para mecanismos de busca (SEO). Eu não vou cobrir isso aqui. Eu não sou especialista nessa área, mas você deve ser capaz de encontrar muitas pessoas que estão procurando por eles. Este post está focado apenas na exibição e link para as categorias de um post.

OK, vamos começar!

A primeira coisa que eu gosto de fazer é pensar no markup. Para algo assim, eu gosto de usar listas não organizadas. Assim:

<ul> <li>Salads</li> <li>Soups</li> <li>Pastas</li> <li>Appetizers</li> <li>Desserts</li></ul>

Então, vamos criar uma lista não-organizada que será preenchida por um loop PHP que recupera todas as categorias às quais um post está associado. O resultado final pode parecer algo como isto:

<ul class="blog-categories"><?php//get all the categories the post belongs to$categories = wp_get_post_categories( get_the_ID() );//loop through themforeach($categories as $c){$cat = get_category( $c );//get the name of the category$cat_id = get_cat_ID( $cat->name );//make a list item containing a link to the categoryecho '<li><a href="'.get_category_link($cat_id).'">'.$cat->name.'</a></li>';}?></ul>

Você também pode querer ter um menu no seu site que exibe todas as categorias. Dessa forma, os visitantes do seu site podem ir direto ao assunto. WordPress fornece uma função chamada “wp_list_categories” que irá fazer isso para nós sem ter que escrever muito código em tudo. A única coisa que eu não gosto nela é que por padrão ela gera uma lista não ordenada dentro de uma tag de item de lista. Há uma maneira de prevenir isso, embora:

$args = array(//set title_li to '' prevent it from wrapping the <ul> in an <li>'title_li' => __( '' ));wp_list_categories( $args );

Conclusion

Então, aí está. Agora os visitantes do seu site podem navegar por categoria!