get_template_directory_uri che punta al tema principale non al tema figlio
2 risposta
- voti
-
- 2016-06-18
get_template_directory_uri()
restituirà sempre l'URI deltemaprincipale corrente.Per ottenereinvece l'URI deltema secondario,ènecessario utilizzare
get_stylesheet_directory_uri()
.Puoitrovare questi nella documentazione ,insieme a unelenco di altrefunzioni utiliper ottenere varieposizioni delle directory deitemi.
Sepreferisci utilizzare una costante,
TEMPLATEPATH
è simile alla chiamata diget_template_directory()
(ovveroiltemaprincipale)eSTYLESHEETPATH
è simile alla chiamata aget_stylesheet_directory()
(cioèiltemafiglio).Queste costanti sonoimpostate dal core di WordPressin
wp-includes/default-constants.php
e fondamentalmente hanno questo aspetto:define('TEMPLATEPATH', get_template_directory()); ... define('STYLESHEETPATH', get_stylesheet_directory());
Senon èpresente alcuntemafiglio,entrambe lefunzioni "template" e "stylesheet" restituiranno laposizione deltemaprincipale.
Nota la differenzatra questefunzionie lefunzioni cheterminano con
_uri
: queste restituirannoilpercorso del server assoluto (ades./home/example/public_html/wp-content/yourtheme
),mentre lefunzioni_uri
restituiranno l'indirizzopubblico (noto anche come URL),ades.http://example.com/wp-content/themes/yourtheme
.get_template_directory_uri()
will always return the URI of the current parent theme.To get the child theme URI instead, you need to use
get_stylesheet_directory_uri()
.You can find these in the documentation, along with a list of other useful functions for getting various theme directory locations.
If you prefer to use a constant, then
TEMPLATEPATH
is akin to callingget_template_directory()
(i.e. the parent theme), andSTYLESHEETPATH
is akin to callingget_stylesheet_directory()
(i.e. the child theme).These constants are set by WordPress core in
wp-includes/default-constants.php
and basically look like this:define('TEMPLATEPATH', get_template_directory()); ... define('STYLESHEETPATH', get_stylesheet_directory());
If there is no child theme, then both the 'template' and 'stylesheet' functions will return the parent theme location.
Note the difference between these functions and the functions ending in
_uri
- these will return the absolute server path (eg./home/example/public_html/wp-content/yourtheme
), whereas the_uri
functions will return the public address (aka URL) - eg.http://example.com/wp-content/themes/yourtheme
.-
che dire diinclude (TEMPLATEPATH. '/myGallery/gallery_functions_include.php');anche questo va alla directoryprincipalewhat about include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php'); this one also goes to the parent directory
- 0
- 2016-06-18
- Elroy Fernandes
-
@ElroyFernandes Ho aggiunto questo allamia risposta.STYLESHEETPATH èinvece la costante che vorresti@ElroyFernandes I've added this to my answer. STYLESHEETPATH is the constant you'd want instead
- 0
- 2016-06-18
- Tim Malone
-
Grazieper aver risposto alla domandainvece di dire solo RTM.Questo è apparsoperprimonei miei risultati di ricerca.Thanks for answering the question instead of just saying RTM. This popped up first in my search results.
- 2
- 2017-05-04
- rinogo
-
Buona rispostama cattiva denominazione daparte di WordPress:non è soloperi fogli di stile,èper JS,risorse,includeecc.Good answer but bad naming on WordPress's part - it's not just for stylesheets, it's for JS, assets, includes etc.
- 2
- 2018-09-21
- Paul Feakins
-
@PaulFeakins Noniniziare anominare leincongruenzein WordPress: è una strada lungae ventosa cheporta chissà dove!;)@PaulFeakins Don’t get started on naming inconsistencies in WordPress - that’s a long and windy road that leads who-knows-where! ;)
- 1
- 2018-09-21
- Tim Malone
-
- 2018-06-06
Dovresti spostarei tuoimodellipersonalizzati,quelli chenon sono controllati daltema attivo,in una cartella secondaria.
Mantieniiltema separato datuttii filepersonalizzatiin questomodoiltemapuòessere aggiornato senzaperdereiltuo lavoropersonalizzato.
Iltuotemafuori dagli schemi vive qui ------------------------------------ \\ Site \ wp-content \themes \ some_theme
Iltuotemafiglio vive qui --------------------------- \\ Site \ wp-content \themes \ some_theme-child
Ituoi stilie modellipersonalizzatie tutte letueinclusioni (cose comejavascriptpersonalizzato,immagini chenon vengono salvatein WP,caratteripersonalizzati,file di datijsone qualsiasiplug-in chepotresti accodare) devonoessere spostatinella cartellafiglio ESTERNO deltema .
\temi \ some_theme \temi \ some_theme-child \ (tuttii tuoifilemodellophppersonalizzati qui) \temi \ some_theme-child \images \temi \ some_theme-child \includes \themes \ some_theme-child \ languages \temi \ some_theme-child \json \temi \ stile \ a_teme-figlio
Per letuepagine di stilepersonalizzato (non lo style.css sostituito daltema ) accodalo con wp_enqueue_style ('some-css',get_stylesheet_directory () . '/style/some.css ",false," 0.0.1 "," all ");
Usa get_stylesheet_directory_uri () con letue chiamate xhr,ecc.
You should move your custom templates, those that are not controlled by the active theme, to a child folder.
Keep the theme separate from all customized files this way the theme can be updated without losing your custom work.
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
Your custom styles and templates and all your includes (things like custom javascript, images that are not saved to WP, custom fonts, json data files, and any plugins that you might enqueue) should be moved to child folder OUTSIDE of theme.
\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
For your custom style pages (not the theme's overridden style.css) enqueue with wp_enqueue_style( 'some-css', get_stylesheet_directory() . '/style/some.css' , false, '0.0.1', 'all');
Use get_stylesheet_directory_uri() with your xhr calls, etc.
Ilproblema che sto riscontrando è cheget_template_directory_uripunta altemaprincipale come
site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php
ma voglio chepunti altema child che dovrebbeessere
site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php
quello che sto usando è
include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');