web-dev-qa-db-fra.com

Comment déplacer des fichiers de thème Wordpress dans un sous-dossier sans rompre le thème?

J'ai codé un thème Wordpress à l'aide de OOP PHP, node.js et Webpack, et entre classes, modules_noeud, fichiers de configuration et fichiers de modèle Wordpress, le répertoire de mon thème est devenu un peu désordonné ...

Existe-t-il un moyen simple de déplacer les fichiers de modèle du thème dans un sous-dossier app sans interrompre le thème?

(J'ai trouvé une question similaire, mais elle a été posée en 2011, alors j'espère que quelque chose est apparu avec le temps).

2
grazianodev

Par défaut, WP s'appuie sur la hiérarchie des modèles pour résoudre et charger le modèle. L'hypothèse par défaut est que (la plupart) les modèles figurent à la racine du thème et respectent les conventions de dénomination.

Placer des fichiers de modèles ailleurs nécessite essentiellement de reconstruire la hiérarchie des modèles dans votre code avec différentes hypothèses. C’était un peu dérangeant, mais WP 4.7 a introduit {$type}_template_hierarchy hook, ce qui le rend beaucoup plus facile.

À titre personnel, je pense que le modèle natif WP ne s'adapte pas de manière significative aux cas d'utilisation complexes. S'il y a suffisamment de modèles pour encombrer le répertoire, je passerais à un autre moteur de modèle (tel que Twig). Bien sûr, cette technique n’est guère utilisée dans le développement WP.

J'ai un exemple de substitution de hiérarchie de modèles dans mon projet Meadow pour l'intégration de Twig, mais cela fonctionne également pour changer de logique pour PHP modèles.

2
Rarst