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

时间:2017-03-21 19:46:44

标签: wordpress header

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

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

2 个答案:

答案 0 :(得分:2)

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

header-custom.php

你应该使用:

get_header('custom');

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

  1. 父主题:您应将其放在与页面模板相同的目录或“根”主题目录(特别是与style.css相同的目录)中
  2. 子主题:您必须将其放在“root”子主题目录
  3. get_header()函数调用locate_template() function,它在这两个目录中搜索自定义头文件。如果找不到该文件,则默认为'header.php'。

答案 1 :(得分:1)

你可以使用:

get_template_part('header-new.php');
  

此处参考:> https://developer.wordpress.org/reference/functions/get_template_part/