Skip to main content

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 fonction krumo($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.