get_template_directory_uri punta al tema genitore invece che al tema child
Il problema che sto riscontrando è che get_template_directory_uri punta al tema genitore come site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php
ma vorrei che puntasse al mio tema child che dovrebbe essere site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php
quello che sto usando è include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');
get_template_directory_uri() restituirà sempre l'URI del tema genitore corrente.
Per ottenere invece l'URI del tema figlio, è necessario utilizzare get_stylesheet_directory_uri().
Puoi trovarle nella documentazione, insieme a un elenco di altre funzioni utili per ottenere varie posizioni delle directory del tema.
Se preferisci utilizzare una costante, allora TEMPLATEPATH è equivalente a chiamare get_template_directory() (cioè il tema genitore), e STYLESHEETPATH è equivalente a chiamare get_stylesheet_directory() (cioè il tema figlio).
Queste costanti sono impostate dal core di WordPress in wp-includes/default-constants.php e sostanzialmente appaiono così:
define('TEMPLATEPATH', get_template_directory());
...
define('STYLESHEETPATH', get_stylesheet_directory());
Se non esiste un tema figlio, allora sia le funzioni 'template' che 'stylesheet' restituiranno la posizione del tema genitore.
Nota la differenza tra queste funzioni e quelle che terminano con _uri - queste restituiranno il percorso assoluto del server (es. /home/example/public_html/wp-content/yourtheme), mentre le funzioni _uri restituiranno l'indirizzo pubblico (ovvero URL) - es. http://example.com/wp-content/themes/yourtheme.
che ne dici di include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php'); anche questo va alla directory genitore
Elroy Fernandes
@ElroyFernandes Ho aggiunto questo alla mia risposta. STYLESHEETPATH è la costante che dovresti usare invece
Tim Malone
Grazie per aver risposto alla domanda invece di dire semplicemente di leggere il manuale. Questo è apparso per primo nei miei risultati di ricerca.
rinogo
Risposta corretta ma pessima scelta del nome da parte di WordPress - non riguarda solo i fogli di stile, ma anche JS, risorse, include ecc.
Paul Feakins
Dovresti spostare i tuoi template personalizzati, quelli che non sono controllati dal tema attivo, in una cartella child.
Mantieni il tema separato da tutti i file personalizzati in modo che il tema possa essere aggiornato senza perdere il tuo lavoro personalizzato.
Il tema standard si trova qui ------------------------------------ \\Site\wp-content\themes\some_theme
Il tema child si trova qui --------------------------- \\Site\wp-content\themes\some_theme-child
I tuoi stili e template personalizzati e tutti i tuoi include (elementi come javascript personalizzato, immagini non salvate in WP, font personalizzati, file di dati json, e qualsiasi plugin che potresti caricare) dovrebbero essere spostati nella cartella child FUORI dal tema.
\themes\some_theme \themes\some_theme-child\ (tutti i tuoi file template php personalizzati qui) \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
Per le tue pagine di stile personalizzate (non il file style.css sovrascritto del tema) caricale con wp_enqueue_style( 'some-css', get_stylesheet_directory() . '/style/some.css' , false, '0.0.1', 'all');
Usa get_stylesheet_directory_uri() con le tue chiamate xhr, ecc.