在特定帖子ID上显示不同的标题

时间:2020-02-28 作者:Webman

我需要为特定页面显示不同的标题。

我创建了一个自定义页面模板,可以调用/显示整个网站使用的普通标题。我使用这个页面模板大约50页。

现在,我只需要其中一个页面来显示不同的标题。这个标题将非常类似于正常的一个,但我会使用不同的联系号码(使用这个特定的网页在线广告)。

To Create the New Header
我想我可以复制原始标题上的代码,更改提及的联系电话,将标题命名为header second。php。

这是新/秒标头唯一要更改的代码位。只有电话号码会更改。。。

<div class="row-two">
<div style ="float: right; margin-right: 16px; margin-top: 10px;"><p 
class="headersample1"><a href="/request-a-quote/">REQUEST QUOTE</a></p></div>
<div style ="float: right; margin-top: 10px;"><p class="headersample2">OR 
</p></div>
<div style ="float: right; margin-top: 10px;"><p class="headersample3"><a 
href="tel:555-555-5555">555-555-5555</a></p></div>
</div>
Assign New Header to Specific Page
有什么办法可以指定不同的标题显示在特定的帖子ID上?此页面使用的自定义页面模板与其他50个页面使用的模板相同,因此我无法在自定义页面模板中调用此新标题。。。我不这么认为。

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

在标题中。php文件,您可以测试正在加载的页面,并根据此条件修改标记。例如is_page() 功能似乎很理想。

<div style ="float: right; margin-top: 10px;">
    <p class="headersample3">
    <?php if ( is_page( \'###\' ) ) { ?>
        <a href="tel:555-555-5555">555-555-5555</a>
    <?php } else { ?>
        <a href="tel:888-888-8888">888-888-8888</a>
    <?php } ?>
    </p>
</div>
将###替换为实际的页面ID。

如果您确实需要为这一页加载一个完全不同的头文件,那么您可以测试is_page() 然后有条件地加载所需的头文件。

if ( is_page( \'543\' ) {
    get_header( \'543\' );  // file name is actually header-543.php
} else {
    get_header();
}
注意:参数传递给get_header() 不是完整文件名。有关更多详细信息,请参阅法典https://developer.wordpress.org/reference/functions/get_header/

此外,良好的命名实践是遵循WP核心标准。特定页面ID的标题应命名为header pageid。php

编辑:更新以反映添加到问题的代码。