WordPress custom header issue
我已经在wordpress中为主页创建了一个模板,名为:page-home-slider.php。
我选择了主页以采用该自定义模板。
到这里为止一切正常。
然后,我创建了header-home.php,因此为我的主页创建了一个自定义标题。
然后在page-home-slider.php中,我编写了代码:get_header(" home");
现在,当我从浏览器访问主页时,默认标题会首先显示,并在其下方显示我的自定义标题。这正常吗?我只想拥有我的自定义标头。请告诉我我在做什么错。
PS:如果有问题,我正在使用JobRoller模板。
- 是否有理由不简单地用标题代码替换header.php文件中的代码,而不是制作自定义标题文件。这样,您可以简单地调用get_header()。在我看来,由于原始的header.php可能仍然存在,因此必须在某个地方调用它。虽然看不到您的代码,但是我们却无能为力。
-
您可以发布page-home-slider.php的代码吗?似乎get_header()被调用了两次,默认是第一个,然后是自定义的。请在主题目录中运行搜索以检查其调用位置。
-
@RyanFitzgerald原因是因为我想为首页设置一个不同的标题,并为其余页面使用默认的标题(是的,header.php存在)。有没有一种方法可以只在header.php中做到这一点?
-
@Aziz我不能粘贴代码,因为它太长了,但是我在它上面搜索了get_header(),它没有出现在任何地方。
-
@Catalin,您可以在header.php中使用if statement来检查页面是否与您的模板匹配:if (is_page_template( 'page-home-slider.php' ) ) { ... }参见文档:developer.wordpress.org/reference/functions/is_page_template
-
@Catalin然后,我建议的是找到get_header()当前在何处被调用,如果它两次出现两次,则很有可能是因为这个原因。如果找到当前的get_header()并将其替换为对自定义变量的调用,则应该没事。
-
感谢大伙们!我已经按照@Aziz的建议使用" is_page_template"解决了问题。
-
顺便说一句,有一个WordPress SE Q
如注释中所述,您可以在header.php中设置一个条件,该条件使用is_page_template()函数检查请求的页面是否具有模板:
header.php
1 2 3 4
| if ( is_page_template( 'page-home-slider.php' ) )
{
// do something different
} |
还是,您需要检查在哪里调用了get_header()以避免重复。
参考:https://developer.wordpress.org/reference/functions/is_page_template/