web-dev-qa-db-fra.com

Quand est-il approprié de mettre des fonctions sur le modèle de page par rapport à functions.php?

J'aimerais améliorer mon code et sur un thème actuel, j'ai étendu Wordpress avec des types de publication personnalisés, des métadonnées, une authentification d'utilisateur personnalisée et un certain nombre d'autres éléments.

Certaines de ces fonctions existent dans le fichier functions.php, tandis que d'autres ont été directement insérées dans les fichiers de modèle auxquels elles se rapportent. J'ai peu de raisons de faire cela au départ, à part que cela me paraisse approprié car ledit fichier modèle était le seul fichier utilisant la fonction spécifique.

Mais j'aimerais savoir ce qui est considéré comme la meilleure pratique pour des raisons de rapidité et de sécurité? Que faire?

3
Tom Geoco

S'il s'agit d'un thème personnalisé pour votre site, le déplacement des fonctions n'améliorera pas la vitesse ni la sécurité.

D'autre part, si vous souhaitez distribuer le thème, je vous recommande de ne disposer que du minimum php dans les fichiers de modèles de page et de disposer le reste des fonctions organisées en différents fichiers. J'aime que le thème de base configure les fichiers du thème dans le fichier functions.php et le reste dans des fichiers organisés séparés. _ s fait du bon travail à cet égard. La raison pour laquelle les fonctions sont retirées des fichiers de modèles est qu’il est plus facile de le personnaliser et de le gérer. Si vous devez dupliquer un modèle, vous ne finissez pas par dupliquer les fonctionnalités.

Je placerais même les fonctions non-présentation dans un plug-in pour faciliter la désactivation et la gestion. Voir cette réponse pour plus d'informations.

4
grappler

Clairement, si vous mettez à jour votre thème parent, toute modification de modèle sera perdue.

Il est préférable d’utiliser un fichier functions.php de thèmes enfants pour que votre codage personnalisé soit sécurisé lorsque vous mettez à jour votre thème parent.

Vous ne devez jamais modifier aucun des fichiers de votre thème parent et toujours utiliser un thème enfant ou créer un plugin auquel vous pouvez ajouter un codage personnalisé.

La meilleure pratique consiste à utiliser des filtres spécifiques à WordPress/thème pour modifier la sortie du thème parent existant et des fonctions WordPress.

Vous pouvez également utiliser des crochets d’action spécifiques à un thème/WordPress pour ajouter davantage de fonctionnalités et de contenu via votre fichier de fonctions de thèmes enfants.

De plus, vous pouvez simplement ajouter des modèles à votre thème enfant ou les copier à partir de votre thème parent et les modifier dans votre thème enfant. En réalité, cela signifie que l'utilisateur ne comprend pas parfaitement comment utiliser les crochets et les filtres et cherche une solution simple.

0
Brad Dalton