Esiste una funzionalità in WordPress, a volte trascurata, che lo rende davvero molto versatile, soprattutto per chi crea temi: l'uso dei Template! Un Template non è altro che un file inserito nella cartella del tema. Per identificarlo come Template basta inserire all'inizio del file un particolare commento in PHP:
PHP:
-
/*
-
Template Name: Sitemap
-
*/
Sfruttando questa caratteristica è possibile creare una pagina vuota, con il procedimento standard di WordPress, e collegarla al nostro template. Se create un file, ad esempio sitemap.php (aggiungendo quel commento indicato più sopra) e lo caricate all'interno della cartella del vostro tema, noterete che nell'editor WordPress durante la creazione di una pagina (non di un post) il menu Template (in basso) conterrà il nome del file template caricato. Come indicato nella sezione template:
Alcuni temi hanno dei template personalizzati da poter utilizzare per determinate pagine, che possono contenere funzionalità aggiuntive o una grafica personalizzata. [...]
Io, ad esempio, ho sfruttato questa caratteristica per creare una pagina dinamica (che esegue quindi codice PHP) in grado di mostrare una vera e propria sitemap del blog.
Creazione di una pagina Sitemap
Prima di tutto create una file sitemap.php e caricatelo all'interno della cartella del vostro tema. Dall'amministrazione di Wordpress create una nuova pagina, dategli un nome e selezionate il Template dal menu che si trova sotto l'editor! Finito!
Il template, facendo parte del tema, contiene anche tutta la struttura del tema stesso ed è quindi importante saperlo scrive in modo corretto. Tuttavia ecco uno scheletro di una sitemap che potete modificare in base al tema che avete installato:
HTML:
-
<?php
-
/*
-
Template Name: Sitemap
-
*/
-
?>
-
<?php get_header(); ?>
-
-
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
-
<div class="post" id="post-<?php the_ID(); ?>">
-
<h2><?php the_title(); ?></h2>
-
<small class="date-time"><?php the_time('l j F, Y') ?></small>
-
<div class="entry">
-
<p><strong><a href="<?php bloginfo('url'); ?>" alt="<?php bloginfo('name'); ?>">Home</a></strong></p>
-
-
-
<?php wp_list_pages('title_li='); ?>
-
</ul>
-
-
-
<?php $archive_query = new WP_Query('showposts=1000');
-
while ($archive_query->have_posts()) : $archive_query->the_post(); ?>
-
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></li>
-
<?php endwhile; ?>
-
</ul>
-
<h4>Archivi mensili</h4>
-
<ul>
-
<?php wp_get_archives('type=monthly'); ?>
-
</ul>
-
<h4>Categorie</h4>
-
<ul>
-
<?php wp_list_categories('title_li=0'); ?>
-
</ul>
-
<h4>Feeds RSS/FeedBurner</h4>
-
<ul>
-
<li><a href="<?php bloginfo
('rdf_url'); ?
>" alt="RDF/RSS 1.0 feed">
<acronym title="Resource Description Framework">RDF
</acronym>/
<acronym title="Really Simple Syndication">RSS
</acronym> 1.0 feed
</a></li>
-
<li><a href="<?php bloginfo('rss_url'); ?>" alt="RSS 0.92 feed"><acronym title="Really Simple Syndication">RSS</acronym> 0.92 feed</a></li>
-
<li><a href="<?php bloginfo
('rss2_url'); ?
>" alt="RSS 2.0 feed">
<acronym title="Really Simple Syndication">RSS
</acronym> 2.0 feed
</a></li>
-
<li><a href="<?php bloginfo('atom_url'); ?>" alt="Atom feed">Atom feed</a></li>
-
</ul>
-
</div>
-
</div>
-
<?php endwhile; endif; ?>
-
</div>
-
<?php get_sidebar(); get_footer(); ?>