get_template_directory_uri pointant vers le thème parent pas le thème enfant

22

Le problème que je rencontre est que get_template_directory_uri pointe vers le thème parent tel que site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php

mais je veux qu'il pointe vers mon thème enfant qui devrait être site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php

ce que j'utilise est include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');

    
posée Elroy Fernandes 18.06.2016 - 06:10

2 réponses

50

get_template_directory_uri() renverra toujours l'URI du thème parent actuel.

Pour obtenir l'URI du thème enfant à la place, vous devez utiliser get_stylesheet_directory_uri() .

Vous pouvez trouver ces dans la documentation , ainsi qu'une liste d'autres fonctions utiles pour obtenir différents emplacements de répertoires de thèmes.

Si vous préférez utiliser une constante, TEMPLATEPATH revient à appeler get_template_directory() (le thème parent) et STYLESHEETPATH à appeler get_stylesheet_directory() (le thème enfant).

Ces constantes sont définies par le noyau WordPress dans wp-includes/default-constants.php et se présentent comme suit:

define('TEMPLATEPATH', get_template_directory());
...
define('STYLESHEETPATH', get_stylesheet_directory());

S'il n'y a pas de thème enfant, les fonctions 'template' et 'feuille de style' renverront l'emplacement du thème parent.

Notez la différence entre ces fonctions et les fonctions se terminant par _uri - elles renverront le chemin absolu du serveur (par exemple, /home/example/public_html/wp-content/yourtheme ), alors que les fonctions _uri renverront l'adresse publique (ou URL) - par exemple . http://example.com/wp-content/themes/yourtheme .

    
réponse donnée Tim Malone 18.06.2016 - 06:20
0

Vous devez déplacer vos modèles personnalisés, ceux qui ne sont pas contrôlés par le thème actif, vers un dossier enfant.

Gardez le thème séparé de tous les fichiers personnalisés de cette manière, il pourra être mis à jour sans perdre votre travail personnalisé.

Your out-of-the-box theme lives here
------------------------------------
\Site\wp-content\themes\some_theme
Your child theme lives here
---------------------------
\Site\wp-content\themes\some_theme-child

Vos styles et modèles personnalisés, ainsi que tous vos éléments inclus (éléments tels que le javascript personnalisé, les images non enregistrées dans WP, les polices personnalisées, les fichiers de données json et tous les plugins que vous pourriez mettre en file d'attente) doivent être déplacés vers le dossier enfant EN DEHORS du thème. .

\themes\some_theme
\themes\some_theme-child\ (all your custom php template files here)
\themes\some_theme-child\images
\themes\some_theme-child\includes 
\themes\some_theme-child\languages
\themes\some_theme-child\json 
\themes\some_theme-child\style

Pour vos pages de style personnalisées ( pas le style.css remplacé du thème ), mettez en file d'attente avec wp_enqueue_style ('some-css', get_stylesheet_directory () . '/style/some.css', false, '0,0 .1 ',' all ');

Utilisez get_stylesheet_directory_uri () avec vos appels xhr, etc.

    
réponse donnée Greg Bologna 06.06.2018 - 21:11

Lire d'autres questions sur les étiquettes