11 Tamplate di archivio

Quando index.php  è usato per elencare dei post, è fondamentale utilizzare un template di archivio.

archive.php è un template di fallback generico che vale per quasi tutti i temi
Per le categorie, avete category.php, mentre per i tag c’è tag.php. Esiste anche date.php per gli archivi delle date e così via. Tutti i vari template hanno un funzionamento più o meno simile tra loro.

Si impegneranno o tag condizionali per generare l’heading corretto per i differenti tipi di archivio. Ecco archive.php

<?php get_header(); ?>
<div id="main-container">
    <section id="content-container">
        <header class="page-header">
            <h1 class="page-title">
            <?php if ( is_day() ) : ?>
                    Archivi giornalieri per
                    <span><?php echo get_the_date(); ?></span>
            <?php elseif ( is_month() ) : ?>
                    Archivi mensili per
                    <span>
      <?php echo get_the_date( 'F Y' ); ?>
   </span>
            <?php elseif ( is_year() ) : ?>
                    Archivi annuali per
                    <span>
   <?php echo get_the_date( 'Y' ); ?>
   </span>
            <?php elseif ( is_category() ) : ?>
               <?php single_cat_title( 'Currently browsing ' ); ?>
            <?php elseif ( is_tag() ) : ?>
               <?php single_tag_title( 'Currently browsing ' ); ?>
            <?php else : ?>
                    Archives
            <?php endif; ?>
            </h1>
        </header>
      <?php
      // Avvia il loop
      while ( have_posts() ) : the_post();
         // Ottiene il tipo di contenuto corretto
         get_template_part( 'content', get_post_format() );
         // Fine del loop
      endwhile; ?>
    </section> <!-- #main-container ends -->
   <?php get_sidebar(); ?>
</div>
<?php get_footer(); ?>

questo è il template index.php senza la parte del fallback ma con un’istruzione condizionale if else in alto che produce heading diversi a seconda delle situazioni. Gestisce gli archivi di giorno, mese, anno, categoria e tag, con un fallback generico qualora servisse.

due template molto importanti sono un template 404, per quei casi in cui un utente arriva a un URL inesistente nel vostro dominio, e un template che visualizzi i risultati di una ricerca. Chiamati appunto 404.php e search.php, sono piuttosto immediati come comprensione. 404.php:

<?php get_header(); ?>
    <div id="main-container">
    <section id="content-container">
        <article id="post-0" class="post no-results not-found">
            <header>
                <h1 class="entry-title">404 Pagina non trovata</h1>
            </header>
            <p>Ops. Sembra che questa pagina non esista. Forse il link è sbagliato? </p>
            <p>Volete cercare quello che vi interessa?</p> <?php get_search_form(); ?>
        </article>
    </section> <!-- #main-container ends -->
<?php get_sidebar(); ?>
    </div>
<?php get_footer(); ?>

Il template search.php è strettamente correlato a index.php. Se non disponete di un template di ricerca, verrà utilizzato index.php. Potete copiare index.php e modificarlo secondo le necessità oppure potete aggiungere alcuni tag per quando vengono visualizzati i risultati della ricerca, in questo caso aggiungiamo il codice che segue a index.php, subito dopo il section#content-container:

<?php    
// Se è il risultato di una ricerca
if ( is_search() ) :?>    
    <header class="page-header">        
        <h1 class="page-title">Avete cercato<br />            
            <span><?php the_search_query(); ?></span>        
        </h1>    
    </header>
<?php endif; ?>

Questo è un semplice controllo condizionale per verificare se la pagina in questione è il risultato di una ricerca; in caso affermativo, la query di ricerca viene generata in un tag h1.

Non dimenticate di inserire nella cartella dei temi un file screenshot.png che illustri il vostro tema. Il file dovrà essere di 300 × 225 pixel e verrà utilizzato nella sezione Temi dell’interfaccia di amministrazione di WordPress. Dev’essere un’immagine bella, ma soprattutto deve essere rappresentativa del tema, così da non confondere gli utenti.