Il y a quelques jours, Fred C. - l'ancien tuteur de Ben - m'a contacté pour me demander si je pouvais donner un coup de main à Claude pour ce qui touchait à son blog WordPress. Aussitôt dit, aussitôt fait : Claude avait un thème qui datait de l'ère WordPress 1.2 et voulait le convertir de manière à ce qu'il soit compatible avec la dernière version de WordPress et qu'il soit également widget-ready. Si vous êtes dans le même cas, voici la marche à suivre.
Etape 1 : disséquer le thème en plusieurs fichiers
Les premiers thèmes pour WordPress n'utilisaient que deux fichiers : style.css
pour l'apparence et index.php
pour l'organisation. Depuis WordPress 1.5, l'organisation d'index.php
est répartie sur une dizaine de fichiers au total. Le découpage est assez aisé, cela ne prend qu'une dizaine de minutes sur un thème standard (plus s'il faut redéfinir les balises standardisées). Voici l'anatomie d'un thème WordPress une fois disséqué :
header.php
reçoit les balises métas et le header,index.php
comprend le corps de la page d'accueil,footer.php
, pied de page, ferme les balises ouvertes dans le headersidebar.php
contient le menu latéral,single.php
sert à afficher les articles individuels,page.php
sert à afficher les pages
Etape 2 : une sidebar widget-ready
Vient ensuite l'étape qui transforme un thème "simple" en thème plus versatile, grâce à l'utilisation des widgets, ces petits add-ons qui vous permettent d'ajouter, de retirer et d'organiser n'importe quelle partie de votre menu par simple glisser-déposer dans l'interface d'administration. Pour cela, il faut :
- le plugin Widgets pour WordPress, à installer sous
/plugins/widgets/
et à activer dans l'interface d'administration. - un fichier
functions.php
à placer dans le répertoire racine de votre thème. Ce fichier sert à définir un menu latéral dynamique. Contenu du fichier :<code class="language-php"><?php if ( function_exists('register_sidebar') ) register_sidebar(); ?>
- éditez maintenant sidebar.php afin de placer cette routine là où vous voulez que les widgets apparaissent :
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?> <?php endif; ?>
- Il ne vous reste plus qu'à définir l'ordre de vos widgets dans l'onglet Présentation > Sidebar Widgets de l'interface d'administration.
Et voilà, votre thème est désormais compatible avec tous les widgets ! C'est l'occasion de faire un petit ménage de printemps dans le menu latéral qui a tendance à se charger avec le temps.
Vous avez un projet WordPress ou WooCommerce, souhaitez ajouter de nouvelles fonctionnalités ou cherchez à améliorer les performances de votre site ?
Parlons de votre projet »Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée s’il vous plaît.
@Fred : no problem :)
Way to go Matt!
Thanks for helping, I knew you could and would...
And whenever you have any geeky teaching ideas in mind, make sure you drop me a line, I'm always interested in sharing stuff.
Cheers then
De rien Claude, ça m'a fait plaisir de t'aider :)
Eh oui! Tout ça aurait été pratiquement impossible à réaliser pour une vieille blogueuse comme moi! Heureusement que Matt était là et m'a guidée! Merci !