如果在子文件夹中调用GET_TEMPLATE_PART(),则它不起作用

时间:2015-09-28 作者:chap

例如,假设您有如下目录:

theme
  - subfolder
    - template.php
content-job-listing.php
如果我试着这样调用get\\u template\\u partget_template_part(\'content\', \'job-listing\') 从文件模板。php(请注意,这只是一个通用名称,而不是我使用的实际名称)返回NULL。

同样,如果我使用get_template_part(\'../content\', \'job-listing\') 这也无法返回模板。但是,如果两者位于同一目录中,则第一个可以正常工作。

如果在t的子文件夹中调用get\\u template\\u part(),则它不起作用

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

get_template_part() 无论你在主题中的位置或深度如何,都会起到同样的作用。它始终包含相对于主题(或子主题)的根。

因此,如果您从任何地方调用以下命令:

get_template_part( \'content\', \'job-listing\' );
。。。它将尝试加载(按顺序):

  1. child-theme/content-job-listing.php
  2. parent-theme/content-job-listing.php
  3. child-theme/content.php
  4. parent-theme/content.php
要加载主题子目录中的部分,只需使用第一个参数中的路径:

get_template_part( \'path/to/file\', \'optional-slug\' );

相关推荐