get_template_directory_uri apontando para o tema pai não tema infantil
2 respostas
- votos
-
- 2016-06-18
get_template_directory_uri()
sempre retornará o URI do atualtemapai.Para obter o URI dotema da criança,vocêprecisa usar
get_stylesheet_directory_uri()
.Vocêpodeencontrarestes Na documentação ,juntamente com uma lista de outrasfunções úteispara obter vários locais de diretóriotemáticos.
.Se vocêpreferir usar uma constante,
TEMPLATEPATH
é semelhante ao chamarget_template_directory()
(ou seja,otemapai)eSTYLESHEETPATH
é semelhante ao chamarget_stylesheet_directory()
(ou seja,otemafilho).Essas constantes são definidaspelo WordPress Núcleoem
wp-includes/default-constants.php
e basicamente separecem comisso:define('TEMPLATEPATH', get_template_directory()); ... define('STYLESHEETPATH', get_stylesheet_directory());
Senão houver umtemafilho,asfunções 'modelo' e 'Stylesheet' retornarão o local dotemapai.
Observe a diferençaentreessasfunçõese asfunções queterminamem
_uri
-estes retornarão o caminho do servidor absoluto (porexemplo,/home/example/public_html/wp-content/yourtheme
),Considerando que asfunções_uri
retornarão oendereçopúblico (AKA URL) -porexemplo.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
.-
E quanto aincluir (templatepath. '/mygallery/gallery_functions_include.php');Estetambém vaipara o diretóriopaiwhat about include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php'); this one also goes to the parent directory
- 0
- 2016-06-18
- Elroy Fernandes
-
@Elroyfernandes Eu adicioneiisso àminha resposta.StylesheetPath é a constante que vocêgostaria@ElroyFernandes I've added this to my answer. STYLESHEETPATH is the constant you'd want instead
- 0
- 2016-06-18
- Tim Malone
-
Obrigadopor responder aperguntaem vez de apenas dizer rtm.Isso apareceuprimeironosmeus resultados dapesquisa.Thanks for answering the question instead of just saying RTM. This popped up first in my search results.
- 2
- 2017-05-04
- rinogo
-
Boa resposta,masmánomeaçãonaparte do WordPress -não é apenaspara asestilosetas,épara JS,ativos,incluietc.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
-
@PaulFeakinsnão começam anomearinconsistênciasno WordPress - que é umaestrada longae ventosa que leva quem sabe - onde!;)@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
Você devemover seusmodelospersonalizados,aqueles quenão são controladospelotema ativo,para umapastafilho.
Mantenha otema separado detodos os arquivospersonalizados destaforma,otemapode ser atualizado semperder seutrabalhopersonalizado.
o seutemafora de caixa vive aqui ------------------------------------ \\ site \ wp-content \temes \ some_theme
seutemafilho vive aqui --------------------------- \\ site \ wp-content \temes \ some_theme-filho
Seusestilose modelospersonalizadose todos os seusinclui (coisas como JavaScriptpersonalizado,imagens quenão são salvasem WP,fontespersonalizadas,arquivos de dados JSON,e quaisquerplugins que vocêpodeenqueue) deve sermovidopara apastafilhofora dotema .
\temas \ some_theme \ Themes \ Alguns_theme-Child \ (todos os seus arquivos demodelo PHPpersonalizado aqui) \ Themes \ Alguns_theme-Child \ Images \temas \ some_theme-criança \inclui \ Themes \ Algunsidiomas \temas \ some_theme-criança \json \temas \ some_theme-criança \estilo
Para suaspáginas deestilopersonalizadas (não é oestilo substituído dotema.CSS ) wp_enqueue_style ('Alguns CSS',get_stylesheet_directory ()
Use get_stylesheet_directory_uri () Com suas chamadas XHR,etc.
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.
Oproblema queestoutendo é que oget_template_directory_uriestá apontandopara otemapai como
site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php
maseu quero apontarpara otema domeufilho que deve ser
site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php
O queestou usando é
include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');