Créer un thème WordPress personnalisé sans constructeur de pages consiste à écrire ses modèles PHP, charger ses styles et utiliser les fonctions natives du CMS. Gutenberg reste disponible pour rédiger le contenu, tandis que le thème maîtrise la présentation.
Vous voulez comprendre ce que WordPress affiche, reprendre le contrôle du HTML et construire une interface adaptée à votre projet ? Un thème maison permet précisément cela. Encore faut-il assembler les fichiers dans le bon ordre et respecter les mécanismes du CMS.
Dans ce tutoriel, nous allons créer Sky Starter, un thème classique en PHP. Il affichera les articles, les pages, les archives, les résultats de recherche et les commentaires. Il disposera également d’un menu, d’une page 404 et d’une présentation responsive.
L’objectif dépasse le petit exemple qui fonctionne uniquement sur une page vide. Vous disposerez d’une base compréhensible, que vous pourrez adapter progressivement. Les exemples ciblent PHP 8.3 ou supérieur et WordPress 6.6 ou supérieur. Cette version minimale permet notamment d’utiliser la version 3 de theme.json.
Sans constructeur de pages : que garde-t-on dans WordPress ?
Un constructeur de pages et un thème répondent à des besoins différents. Le thème organise la présentation générale. L’éditeur sert à préparer le contenu. Ainsi, supprimer Elementor ou Divi Builder ne vous oblige pas à écrire chaque paragraphe en HTML.
Ici, nous conservons l’éditeur de blocs natif. Les auteurs pourront ajouter des titres, des images, des listes ou des boutons. Cependant, les modèles PHP détermineront l’en-tête, le pied de page et l’affichage des articles.
Vous rencontrerez principalement trois approches :
| Approche | Fichiers principaux | Usage |
|---|---|---|
| Thème classique personnalisé | Modèles PHP, CSS, functions.php | Contrôle direct du rendu et apprentissage des API WordPress |
| Thème à blocs personnalisé | Modèles HTML de blocs, theme.json | Personnalisation du site avec l’éditeur de site |
| Thème enfant | style.css, adaptations ciblées | Personnalisation d’un thème parent existant |
Un thème à blocs permet aussi de travailler sans constructeur tiers. Nous choisissons ici l’approche classique, parce qu’elle rend visibles les étapes du rendu PHP. Ajouter theme.json à cette base ne la transforme pas automatiquement en thème à blocs.
Par ailleurs, un thème maison n’est pas systématiquement plus rapide. Une mauvaise requête, une image énorme ou des scripts inutiles peuvent annuler son avantage. Son intérêt réside surtout dans votre capacité à choisir exactement ce que vous chargez.
Préparer l’environnement de développement
Commencez sur une installation locale ou sur une préproduction. Vous pourrez modifier les fichiers, provoquer une erreur et la corriger sans interrompre les visiteurs. Pour choisir votre environnement, consultez le comparatif des serveurs locaux pour développer WordPress.
Préparez ensuite quelques contenus représentatifs : un article long, une page, une image mise en avant et deux catégories. Ajoutez également un article protégé par mot de passe et quelques commentaires. Ces exemples révèlent rapidement les oublis invisibles sur une installation vide.
Enfin, utilisez un éditeur de code et versionnez le dossier du thème. Vous gagnerez un historique précis de vos modifications. Une sauvegarde complète reste nécessaire avant de changer le thème d’un site existant.
Tous les fichiers de ce tutoriel appartiennent à un nouveau thème. Nous ne modifions ni le cœur de WordPress ni un thème commercial. Si vous souhaitez seulement adapter GeneratePress ou un autre thème existant, partez plutôt sur un thème enfant.