web-dev-qa-db-fra.com

get_template_directory vs get_stylesheet_directory

J'essaie de créer un thème enfant et je dois remplacer certains fichiers situés dans des sous-dossiers.

Dans cet article , il est indiqué

'get_stylesheet_directory(); ira au thème actuel, enfant ou parent

Pourquoi les développeurs de thèmes n'utilisent-ils pas simplement get_stylesheet_directory() si cela fonctionne pour le thème parent ou enfant?

Il semble que je doive maintenant changer chaque référence en get_template_directory() pour que mes fichiers enfants fonctionnent (ils se trouvent dans des sous-dossiers), ou existe-t-il un autre moyen de procéder?

Ce message de Andrew Nacin déclare que,

vous pouvez simplement remplacer des fichiers directement dans un thème enfant.

Mais il semble que cela ne fonctionne que pour un niveau de profondeur.

Existe-t-il un moyen pour que cela fonctionne avec plus d'un niveau et serait-ce plus facile que de changer chaque référence en get_template_directory()?

3
Greg

Pourquoi les développeurs de thèmes n'utilisent-ils pas simplement get_stylesheet_directory si cela fonctionne pour le thème parent ou enfant?

La réponse n’est pas compliquée: "Parce que vous ne voudrez peut-être pas que cela fonctionne pour le thème parent ou enfant."

Vous choisissez la fonction qui correspond à la situation. Par exemple, vous avez un ensemble de fichiers dans le thème parent qui contiennent des classes ou des fonctions critiques. Vous utilisez get_template_directory() parce que vous ne voulez pas autoriser l'enfant à remplacer/remplacer les fichiers. C'est la même raison pour laquelle vous ne pouvez pas remplacer les fichiers ou les fonctions de WordPress Core (dans la plupart des cas).

2
s_ha_dum