web-dev-qa-db-fra.com

Développement de thèmes Wordpress Un partitionnement apparemment abominable de includes?

Je viens de terminer un didacticiel qui m'a dit de créer mon header.php sans fermer une balise au bas du fichier inclus.

Maintenant, bien que je sache que dans tout fichier parent contenant header.php, il inclut la balise de fermeture; cela va vraiment à l’encontre de mon meilleur jugement en tant que développeur front-end; parce que quelqu'un qui éditerait le thème plus tard (et ce pourrait être moi, ce pourrait être quelqu'un d'autre) devrait savoir que cette balise devait être fermée dans le fichier parent qui l'inclut. Je me sens juste mal. C'est comme si votre éditeur marquait la balise comme "une balise de fermeture supplémentaire" que vous souhaitiez la supprimer.

Je ne brise pas un standard si j'utilise:

<?php include(TEMPLATEPATH . '/justTheHTMLHeader.php'); ?>
<!-- AND -->
<?php include(TEMPLATEPATH . '/justTheBlogHeader.php');` ?>

au lieu de get_header()?

Il me semble que cette approche serait plus modulaire et ne laisserait aucune balise superflue non fermée entre les fichiers inclus et leurs parents.

J'ai aussi remarqué que le modèle Wordpress par défaut est configuré de cette façon, alors je me trompe évidemment et je ne respecte pas le standard du thème Wordpress, peu importe ce que je pense.

Quel est le raisonnement derrière cela?

1
leeand00

Eh bien, ce tutoriel est assez vieux et obsolète. Il a été écrit pour WordPress 2.0. Il y a 10 versions majeures.

La réponse courte est: c'est comme ça parce que c'est la meilleure façon de le faire. C'est le moyen le plus simple et le plus rapide de séparer le contenu de la conception et de vous donner tout le contrôle, à vous le développeur du thème.

Si vous ne souhaitez pas ouvrir une balise dans l'en-tête sans la fermer dans l'en-tête, ne le faites pas. Personnellement, je le fais toujours (bien que je le ferme habituellement dans le pied de page, pas dans le fichier index.php). L'avantage de WordPress est qu'il vous permet de faire ce que vous voulez.

Voici deux bonnes raisons d'utiliser get_header():

  1. Il déclenche un hook d’action que les plugins peuvent utiliser, et
  2. Cela rend votre thème plus conforme et donc plus facile à utiliser comme modèle pour les thèmes enfants.
3
John P Bloch