Você pode querer listar todas as categorias com posts no WordPress. Isso ajudará seus usuários a encontrar facilmente o post que estão procurando.
Instruções: Adicione o seguinte código ao arquivo functions.php do seu tema WordPress.
<?php
//for each category, show all posts
$cat_args=array(
'orderby' => 'name',
'order' => 'ASC'
);
$categories=get_categories($cat_args);
foreach($categories as $category) {
$args=array(
'showposts' => -1,
'category__in' => array($category->term_id),
'caller_get_posts'=>1
);
$posts=get_posts($args);
if ($posts) {
echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
foreach($posts as $post) {
setup_postdata($post); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
} // foreach($posts
} // if ($posts
} // foreach($categories
?>
Você também pode gostar de remover taxonomias padrão no WordPress.
Olá, isso é muito útil, como é possível obter o número de posts de cada categoria pai?
isso é ótimo, mas e se eu precisar de paginação?
Eu uso este trecho de código, mas tive que adicionar a variável global $post. Ele duplica alguns posts se a variável global $post não estiver presente.
A propósito. Obrigado!