admin管理员组文章数量:1204402
I have theme and in header.php and I found this templates (see attached screenshot). But there is no content directory in template directory. Even I searched for those files (header-private.php and header-public.php) but can't found. Then how those templates loading?
I have theme and in header.php and I found this templates (see attached screenshot). But there is no content directory in template directory. Even I searched for those files (header-private.php and header-public.php) but can't found. Then how those templates loading?
Share Improve this question asked Apr 1, 2022 at 5:04 Avijit PalitAvijit Palit 254 bronze badges 1- 1 Hopefully I have correctly understood your question, and just a friendly reminder - please add the actual code into your post and not just a screenshot of the code - because when it's an image, it'll be cumbersome for us to type out the code.. ✌ – Sally CJ Commented Apr 1, 2022 at 6:42
1 Answer
Reset to default 4But there is no content directory in template directory.
Actually, with the following:
get_template_part( 'templates/content', 'header-private' );
get_template_part( 'templates/content', 'header-public' );
WordPress will search in the templates
folder for content-header-private.php
or content-header-public.php
, and if found, it is loaded. Else, WordPress will attempt to load the content.php
file instead.
So WordPress (or get_template_part()
) will not search in a folder named content
, and instead, the "content" part in templates/content
means, "search for PHP files where the name begins with content-
in the templates
folder, and if none found, please load content.php
if it exists".
Other examples that might help:
// loads content.php
get_template_part( 'content' );
// loads templates/content.php
get_template_part( 'templates/content' );
// loads templates/content-foo-bar.php OR templates/content.php
get_template_part( 'templates/content', 'foo-bar' );
// loads templates/content/foo-bar.php OR templates/content/foo.php
// i.e. the function will now search in the "content" (sub-)folder
get_template_part( 'templates/content/foo', 'bar' );
Check out the get_template_part()
documentation for more details about (using) the function.
Even I searched for those files (header-private.php and header-public.php) but can't found.
If the templates
folder does not have these files: content-header-private.php
, content-header-public.php
and content.php
, then they might be in the parent theme if you are using a child theme, so try searching in the parent theme's templates
folder.
And it's because get_template_part()
will first search in the child and then parent theme, so the template that's loaded could be the one in the parent theme.
Technically though, it's actually locate_template()
which searches and loads the template, so you might also want to check the function's documentation.
本文标签: phpDoes wordpress templates always in files or in database
版权声明:本文标题:php - Does wordpress templates always in files or in database? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1738650537a2104842.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论