Devrions-nous utiliser get_template_part () dans les fichiers de fonctions au lieu de include_once?


10

J'utilise le plugin de vérification de thème pour vérifier mon thème pour les erreurs et recommandations, j'utilise get_template_part () dans des fichiers de thème comme header.php et index.php mais dans functions.php j'utilise le thème include_once () - check ne pointe pas sur ceux-ci, il pointe sur include_once utilisé dans un fichier widgets.php qui est inclus dans functions.php

ma question est de savoir si nous devrions utiliser get_template_part () au lieu de tous include_once () et include () ou simplement l'utiliser pour obtenir le balisage fréquemment utilisé uniquement? Je sais qu'il est uniquement recommandé d'utiliser get_template_part () mais j'aime suivre les meilleures pratiques et recommandations.

Merci d'avance.


En regardant le code du plugin de certains des principaux contributeurs et d'autres experts WP, je n'ai jamais vu get_template_part()utilisé de cette façon bien qu'il ne semble pas faux. Le but de la fonction, cependant, est de réutiliser des parties de code qui le différencieraient de la nécessité d'inclure un fichier une fois. J'aimerais voir ce que les autres ont à dire à ce sujet.
developdaly

Ce sont des recommandations, si vous n'incluez pas de partie de modèle, il est plus simple d'utiliser include_once ().
Mamaduka

Réponses:


4

Votre functions.phpne crée pas de sortie, vous devez donc l'utiliser locate_template().

Exemple:

locate_template( 'php/functions.nav-menu.php', TRUE, TRUE );

Vous trouverez cette fonction dans wp-includes/theme.php. Le premier paramètre est le chemin du fichier par rapport à la racine du thème, le second indique à WordPress de le charger (ou non), et le troisième de le charger une seule fois .

Un thème enfant peut désormais remplacer le fichier en plaçant simplement un fichier du même nom au même endroit dans sa propre racine de thème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.