如何让 get_header() 调用位于主题子文件夹中的自定义头文件?

dra*_*035 2 wordpress header

从位于我的 WP 主题文件夹 ( my_theme/subfolder/my_file.php)子文件夹中的 PHP 模板文件中,我想使用get_header()并调用header-new.php位于同一子文件夹中的自定义。

相反,get_header(header-new)加载header.php位于我的主题根文件夹中。如何解决这个问题?

Ama*_*ade 12

使用 get_header() 函数是正确的。但是,根据文档,您应该以特定格式传递自定义标头的名称 - 仅包含“header-”和“.php”之间的部分。例如对于文件中的自定义标题:

header-custom.php
Run Code Online (Sandbox Code Playgroud)

你应该使用:

get_header('custom');
Run Code Online (Sandbox Code Playgroud)

但这还不是全部。请务必记住,自定义头文件应放置在 1 或 2 个特定目录中,具体取决于您是在处理父主题还是子主题:

  1. 父主题:您应该将其放置在与页面模板或“根”主题目录相同的目录中(特别是您的 style.css 所在的目录)
  2. 子主题:您必须将其放置在“根”子主题目录中

get_header() 函数调用locate_template() 函数,它在这两个目录中搜索自定义头文件。如果找不到该文件,则默认为“header.php”。