Quand on veut personnaliser un thème WordPress, la bonne pratique est d’utiliser un child theme. On peut ainsi ajouter nos propres fichiers CSS, JavaScript ou même overrider des fichiers PHP du thème parent sans pour autant tout perdre lors d’une mise à jour de celui-ci.
Une autre bonne pratique pour tout développeur qui se respecte, c’est évidemment de versionner les fichiers de notre child theme avec Git. On peut ainsi faire toutes les modifications qu’on veut en local, commiter et faire un simple git pull
sur le serveur WordPress pour récupérer la dernière version du code.
C’est bien, mais cela implique d’avoir les fichiers du child theme à la racine du repository : s’il est caché au fond d’une arborescence, WordPress ne trouvera pas les fichiers style.css
et functions.php
nécessaires à son activation.
Dans mon cas, j’ai par exemple à la racine de mon repository Git un fichier docker-compose.yml
pour pouvoir lancer rapidement un serveur en local, un répertoire qui contient des images d’illustration et enfin le répertoire du child theme :
- nereo-website/ - graphics/ - theme-child/ - .gitignore - docker-compose.yml
Comment faire donc pour pouvoir installer notre child theme dans le répertoire des thèmes de WordPress tout en pouvant mettre à jour le code en faisant un git pull
? L’astuce consiste à cloner le repository dans un dossier quelconque, par exemple le répertoire home, et à monter le répertoire du child theme dans le répertoire thèmes de WordPress :
mkdir /var/www/html/wp-content/themes/theme-child # Le point de montage doit être déjà créé mount --bind ~/nereo-website/theme-child /var/www/html/wp-content/themes/theme-child # À adapter bien évidemment avec le chemin de votre WordPress
Et voilà ! Maintenant, il suffira de faire un git pull
dans le repository et votre child theme WordPress sera automatiquement mis à jour. Ça marche aussi en sens inverse : si vous faites des modifications depuis l’éditeur de WordPress, Git va le détecter et vous pourrez commiter ces changements.