Il file category.php
è quello che ci permette di visualizzare i post di una determinata categoria. Ogni post di Wordpress ha una o più categorie associate. Quando viene richiesta la pagina di una categoria, per esempio tramite l'URL http://sito.it/categoria/
, Wordpress usa questo file per visualizzare la pagina dedicata alla categoria richiesta.
Lo schema di base della pagina è quello già visto in altri file:
<?php get_header(); ?>
<div id="content">
<!-- contenuto qui -->
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
La prima cosa da fare è visualizzare il titolo della categoria e, se presente, la sua descrizione:
<h1><?php printf( __( 'Archivi per categoria: %s' ), '<span>' . single_cat_title( '', false ) . '</span>' ); ?></h1>
<?php echo category_description();?>
La funzione single_cat_title() visualizza il titolo della categoria. Il primo parametro è una stringa testuale che può essere usata come prefisso, mentre il secondo è un valore booleano che specifica se il valore restituito debba essere visualizzato direttamente o meno.
A questo punto lanciamo il loop e visualizziamo i post per questa categoria:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post-single">
<h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<div class="post-excerpt">
<?php the_excerpt(); ?>
</div>
<p>Scritto il <?php the_time('j F Y'); ?> alle <?php the_time() ?> da <?php the_author_posts_link() ?></p>
</div>
A questo punto dobbiamo prendere in considerazione l'eventualità che non ci siano post per la categoria scelta:
<?php endwhile; else: ?>
<div class="no-results">
<p>Oops, nessun risultato!</p>
</div>
Infine, dobbiamo inserire la paginazione per i post della categoria:
<div class="oldernewer">
<div class="older">
<p><?php next_posts_link('« Post precedenti') ?></p>
</div>
<div class="newer">
<p><?php previous_posts_link('Post successivi »') ?></p>
</div>
</div>