Wordpress - 页面上的不同徽标

时间:2017-09-23 19:40:11

标签: php wordpress

我的主题主页有黑色徽标,页面和帖子有白色徽标。它显示了一个白色徽标,因为它需要在页面和帖子上显示特色图像,然后徽标本身在视觉上看起来很好看,覆盖图像。 这在帖子上效果很好(因为我在每个帖子上放了一个特色图片),但在页面上我想要显示黑色徽标,因为我不想要任何特色图片。

我已将此代码放在page.php文件中:

<?php 
if(is_page(3)) {
 get_header('BLACK');
}
else {
 get_header();
}
 wp_head();
?>      

在这种情况下,我为ID为3的页面创建了一个header-black.php文件。如果该页面不是ID 3,则它将落入普通主题标题。一切都很好,但现在我陷入两难境地:

如果我想在我的ID页面3,4,5等上使用header-black.php,我该怎么办?如果我在下面添加具有不同页面ID的相同代码:

<?php 
if(is_page(3)) {
 get_header('BLACK');
}
else {
 get_header();
}
 wp_head();
?>    

<?php 
if(is_page(4)) {
 get_header('BLACK');
}
else {
 get_header();
}
 wp_head();
?>   

它在ID 4页面上显示两个徽标(黑色和白色)?虽然ID 3页面上的徽标仍然可以。我的网站上只有几页(主要是帖子) - 只是为了指出这一点。

3 个答案:

答案 0 :(得分:1)

我从未使用过WordPress,但似乎is_page接受数组 https://developer.wordpress.org/reference/functions/is_page/

private void ShowMessage(string msg)
{
    ScriptManager.RegisterStartupScript(this, GetType(), "Alert Message", "AutoHideAlert('"+msg+"');", true);
}

答案 1 :(得分:0)

如果您有第3,4,5页的这些类型的条件就可以了,但如果您有10页,那么20页,那么您会怎么做?你会继续增加条件吗?因此,在这种情况下,最好的选择是创建页面模板,并添加条件。

创建任何页面模板,例如。 black-logo-template.php

<?php 
if(is_page_template( 'black-logo-template.php' )) {
 get_header('BLACK');
}
else {
 get_header();
}
 wp_head();
?> 

答案 2 :(得分:-1)

PHP“OR”运算符:http://php.net/manual/en/language.operators.php

<?php 
if(is_page(3) || is_page(4)) {
 get_header('BLACK');
}
else {
 get_header();
}
 wp_head();
?>    

您还可以将数组传递给is_page函数:https://developer.wordpress.org/reference/functions/is_page/

<?php 
if(is_page([3,4])) {
 get_header('BLACK');
}
else {
 get_header();
}
 wp_head();
?>   

&安培; (downvote收到?)如果有人想知道为什么我首先发布OR运算符,那是因为问题提供的代码并不能证明PHP的工作原理。

所以学习PHP运营商&amp;程序编程的基础知识将是我对该用户的第一个建议。