it-swarm.com.de

get_template_directory_uri zeigt auf das übergeordnete Thema, nicht auf das untergeordnete Thema

Das Problem, das ich habe, ist, dass das get_template_directory_uri auf das übergeordnete Thema wie site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php zeigt

aber ich möchte, dass es auf mein untergeordnetes Thema zeigt, das site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php sein sollte

was ich benutze ist include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');

29
Elroy Fernandes

get_template_directory_uri() gibt immer den URI des aktuellen übergeordneten Themas zurück.

Um stattdessen die untergeordnete Design-URI abzurufen, müssen Sie get_stylesheet_directory_uri() verwenden.

Sie finden diese in der Dokumentation zusammen mit einer Liste weiterer nützlicher Funktionen zum Abrufen verschiedener Verzeichnispfade für Themen.


Wenn Sie eine Konstante bevorzugen, entspricht TEMPLATEPATH dem Aufrufen von get_template_directory() (d. H. Des übergeordneten Themas) und STYLESHEETPATH dem Aufrufen von get_stylesheet_directory() (d. H. Des untergeordneten Themas).

Diese Konstanten werden vom WordPress-Kern in wp-includes/default-constants.php festgelegt und sehen im Grunde so aus:

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

Wenn es kein untergeordnetes Thema gibt, geben die beiden Funktionen 'template' und 'stylesheet' den Speicherort des übergeordneten Themas zurück.

Beachten Sie den Unterschied zwischen diesen Funktionen und den Funktionen, die mit _uri enden - diese geben den absoluten Serverpfad (z. B. /home/example/public_html/wp-content/yourtheme) zurück, während die _uri-Funktionen die öffentliche Adresse (auch als URL bezeichnet) zurückgeben - z. http://example.com/wp-content/themes/yourtheme.

60
Tim Malone

Sie sollten Ihre benutzerdefinierten Vorlagen, die nicht vom aktiven Thema gesteuert werden, in einen untergeordneten Ordner verschieben.

Halten Sie das Design von allen benutzerdefinierten Dateien getrennt, damit das Design aktualisiert werden kann, ohne dass Ihre benutzerdefinierte Arbeit verloren geht.

Ihr Out-of-the-Box-Thema lebt hier 
 ---------------------------------- - 
 \\ Site\wp-content\themes\some_theme
Ihr Kinderthema lebt hier 
 --------------------------- 
 \\ Site\wp-content\Themen\some_theme-child

Ihre benutzerdefinierten Stile und Vorlagen sowie alle Ihre Includes (z. B. benutzerdefiniertes Javascript, Bilder, die nicht in WP gespeichert sind, benutzerdefinierte Schriftarten, JSON-Datendateien und Plugins, die Sie möglicherweise in die Warteschlange stellen) sollten in den untergeordneten Ordner AUSSERHALB des Themas verschoben werden.

\themes\some_theme 
\themes\some_theme-child\(alle Ihre benutzerdefinierten PHP-Vorlagendateien hier) 
\themes\some_theme-child\images 
\themes\some_theme-child\enthält 
\themes\some_theme-child\languages ​​
\themes\some_theme-child\json 
\themes\some_theme-child\style 

Für Ihre benutzerdefinierten Stilseiten ( nicht das überschriebene style.css des Themas ) mit wp_enqueue_style ('some-css', get_stylesheet_directory () . '/Style/some.css', false, ' 0.0.1 ',' all ');

Verwenden Sie get_stylesheet_directory_uri () für Ihre xhr-Aufrufe usw.

0
Greg Bologna