WordPress.org
Bien que les thèmes WordPress ne nécessitent techniquement que deux fichiers (index.php
et style.css
), ils sont généralement constitués de nombreux fichiers. Cela signifie qu’ils peuvent rapidement devenir désorganisés ! Cette section vous montrera comment garder vos fichiers organisés.
header.php
et footer.php
, sans alternative disponible, ont été dépréciés depuis WordPress 3.0. Votre thème peut avoir besoin d’inclure ces fichiers également.Structure du dossier et des fichiers du thème #Structure du dossier et des fichiers du thème
Comme mentionné précédemment, les thèmes Twenty par défaut sont parmi les meilleurs exemples de bon développement de thème. Par exemple, voici comment le thème Twenty Seventeen organise sa structure de fichiers:
assets (dir) - css (dir) - images (dir) - js (dir)inc (dir)template-parts (dir) - footer (dir) - header (dir) - navigation (dir) - page (dir) - post (dir)404.phparchive.phpcomments.phpfooter.phpfront-page.phpfunctions.phpheader.phpindex.phppage.phpREADME.txtrtl.cssscreenshot.pngsearch.phpsearchform.phpsidebar.phpsingle.phpstyle.css
Vous pouvez voir que les fichiers de modèle du thème principal sont dans le répertoire racine, tandis que JavaScript, CSS, images sont placés dans le répertoire assets, template-parts sont placés dans sous le sous-répertoire respectif de template-parts et la collection de fonctions liées aux fonctionnalités de base sont placées dans le répertoire inc.
À l’heure actuelle, il n’y a pas de dossiers obligatoires dans un thème WordPress. Cependant, WordPress reconnaît par défaut les dossiers suivants.
Note : style.css
doit résider dans le répertoire racine de votre thème et non dans le répertoire CSS.
Dossier langues #Dossier langues
C’est une bonne pratique d’internationaliser votre thème afin qu’il puisse être traduit dans d’autres langues. Les thèmes par défaut incluent le dossier languages
, qui contient un fichier .pot pour la traduction et tout fichier .mo traduit. Bien que languages
soit le nom par défaut de ce dossier, vous pouvez en changer le nom. Si vous le faites, vous devez mettre à jour load_theme_textdomain()
.
.