L’autre soir, je continuais la traduction en Français de mon thème et en révisant ma page 404, je me suis rendu compte qu’elle n’aidait pas l’Internaute à rebondir sur une autre page.

En effet, à part le message classique indiquant que ses grosses mimines ont tapé n’importe quoi, je le laisse fuir sans le retenir encore quelques secondes de plus. J’ai donc ajouté un petit message supplémentaire, puis un lien vers l’index du site et enfin un lien vers un plan du site, sauf que je n’avais pas encore de plan du site ! Ni une, ni deux, je m’y suis attelé.

Après 20 minutes de recherches sur des sites franco-anglais, voici une solution facile à appliquer, sans l’aide de plugin ou de widget.

1/ Création d’une page « Plan du site »

Dans la rubrique « page », créez une page avec le titre « Plan du site », enregistrez-là en brouillon, nous y reviendrons plus tard.

gestion des pages sous wordpress

2/ Création de la page sitemap.php

Pourquoi créer une nouvelle page dans votre template ? Parce que l’éditeur de page, même en code HTML, ne prend pas en compte le php, et il en faut pour créer la page de « plan du site ».

Dans le répertoire de votre template, cloner le fichier « page.php » (copiez / collez-là en la renommant « sitemap.php ») puis dans un éditeur de texte (NotePad++, NetBeans, Dreamweaver, etc.), éditez-là.

Supprimez le contenu du code compris dans le div <div id= »content »> et son fin de div qui lui correspond </div>.

A la première ligne du fichier, ajoutez le code suivant :

<?php /* Template Name: Sitemap */ ?>

Ce code permet d’identifier la page comme « sitemap ». C’est grâce à ce code que nous pourrons finaliser la page « plan du site » dans l’admin de WordPress.

Entre les balise du div « content » qui est maintenant vide, placez le code suivant :

<h2>Plan du site</h2>
<h3><?php _e(‘Pages’) ?></h3>
<ul>
<?php wp_list_pages(‘depth=0&sort_column=menu_order&title_li=’); ?>
</ul>
<h3><?php _e(‘Catégories’) ?></h3>
<ul>
<?php wp_list_categories(‘title_li=&hierarchical=0&show_count=1’) ?>
</ul>
<h3>Articles par catégories</h3>
<?php
$saved = $wp_query;
$cats = get_categories();
foreach ($cats as $cat) {
query_posts(‘showposts=999&cat=’ . $cat->cat_ID);
?>
<h4><?php echo $cat->cat_name; ?></h4>
<ul>
<?php while (have_posts ()) : the_post(); ?>
<li style= »font-weight:normal !important; »>
<a href= »<?php the_permalink() ?> »>
<?php the_title(); ?></a> – <?php _e(‘Commentaires’) ?> (<?php echo $post->comment_count ?>)
</li>
<?php endwhile; ?>
</ul>
<?php } $wp_query= $saved; ?>

<h2>Plan du site</h2> <h3><?php _e(‘Pages’) ?></h3>

<ul>

<?php wp_list_pages(‘depth=0&sort_column=menu_order&title_li=’); ?>

</ul>

<h3><?php _e(‘Catégories’) ?></h3>

<ul>

<?php wp_list_categories(‘title_li=&hierarchical=0&show_count=1’) ?>

</ul>

<h3>Articles par catégories</h3>

<?php$saved = $wp_query;$cats = get_categories();foreach ($cats as $cat) {    query_posts(‘showposts=999&cat=’ . $cat->cat_ID);    ?>

<h4><?php echo $cat->cat_name; ?></h4>

<ul>

<?php while (have_posts ()) : the_post(); ?>

<li style= »font-weight:bold; »>

<a href= »<?php the_permalink() ?> »> <?php the_title(); ?></a> – <?php _e(‘Commentaires’) ?> (<?php echo $post->comment_count ?>)

</li>

<?php endwhile; ?>

</ul>

<?php } $wp_query= $saved; ?>

Ce code source permet de lister les pages et les catégories de votre blog, mais aussi et surtout, tous les articles de chaque catégorie !
Via FTP, mettez en ligne votre nouvelle page dans le répertoire de votre template.

3/ Mise à jour de la page « Plan du site »

Dernière retouche avant publication de votre plan du site, modifier votre page « Plan du site ».

N’ajoutez aucun code, il suffit tout simplement de modifier le modèle de page (en bas à droite) en sélectionnant « sitemap ». Vous vous souvenez, c’est le code que nous avons ajouté en haut de la page « sitemap.php ». 😀

gestion page plan du site wordpress

Publiez votre page.

Si vous avez un menu automatique, celle-ci apparaîtra tout de suite

À propos de l'auteur

Papa Blogueur

Blog d'un papa de la métropole lilloise.

Voir tous les articles