Architecture PHP
Notre thème WordPress est conçu avec un souci de clarté et d'organisation. Pour cela, tout notre code PHP est centralisé au sein du dossier /inc
.
À propos du Dossier /inc
Le dossier /inc
, abréviation de "includes", est l'endroit où nous rangeons tous les fichiers PHP nécessaires au fonctionnement du thème. Cette approche modulaire nous permet de garder le code bien organisé et facile à gérer :
- Modularité : Chaque fichier et dossier a un but précis, ce qui rend le processus de développement et de débogage plus intuitif.
- Maintenabilité : Les mises à jour et les modifications peuvent être effectuées de manière ciblée, sans perturber le reste du code.
- Extensibilité : L'ajout de nouvelles fonctionnalités est simplifié grâce à cette structure.
Voici l'arborescence actuelle de ce dossier :
Architecture PHP
themes/
└── <votre-projet>/
└── inc/
├── admin.js
├── admin/
├── core/
├── customPostTypes/
├── customTaxonomies/
├── fieldGroups/
├── guideRecherche/
├── import/
├── krumo/
├── plugins/
├── popcorn/
├── security/
└── utilities/
Le dossier inc de notre thème WordPress contient une série de sous-dossiers chacun dédié à un aspect spécifique de la fonctionnalité du thème. Voici une explication de la responsabilité de chaque sous-dossier :
admin/
Ce dossier contient toutes les fonctions liées à l'administration du site WordPress. Il inclut des scripts personnalisés pour enrichir l'expérience dans le tableau de bord administrateur, comme des personnalisations du back-end et des outils pour la gestion du site.core/
Le répertoire core renferme les fonctions essentielles du thème. Cela inclut le chargement des scripts, la définition des hooks globaux et des filtres, ainsi que les configurations initiales de votre thème.customPostTypes/
Dans customPostTypes, vous trouverez les fonctions pour créer des types de contenu personnalisés (Custom Post Types, CPT). Ces fichiers servent à structurer différents types de contenu au-delà des articles et pages standards de WordPress (archives, événements, expositions etc).customTaxonomies/
Ce dossier inclut des fonctions pour définir des taxonomies personnalisées. Utilisez-les pour créer des catégories, des tags ou tout autre système de classification adapté à vos CPT.fieldGroups/
fieldGroups contient des scripts qui associent les champs personnalisés d'Advanced Custom Fields (ACF) à vos CPT. Ces liens sont vitaux pour une gestion de contenu dynamique et flexible. C'est également à cet endroit que vous pourrez lier les composants aux posts wordpress.guideRecherche/
Les fonctions liées au guide de recherche sont localisées ici. Elles gèrent la logique et l'exportation du document "guide de recherche"import/
Le dossier import est destiné aux fonctions qui gèrent l'importation des archives, notamment pour la migration des données ou leur chargement initial.krumo/
krumo contient des outils de débogage. Ces fonctions sont conçues pour vous aider à diagnostiquer et résoudre les problèmes pendant le développement du thème via la fonctionkrumo($variable)
.plugins/
Fonctionnalités avancées, principallement pour personnaliser l'utilisation de certains plugins (yoast seo, wpml etc).popcorn/
Fonctionnalités strictements liées au projet "popcorn" (didomi etc).security/
Contient les fonctions relatives à la sécurité.utilities/
Le dossier utilities fournit un ensemble de fonctions PHP utiles qui sont utilisées à travers le thème. Ces fonctions peuvent inclure des helpers et des utilitaires généraux pour des tâches communes.