我的主题主页有黑色徽标,页面和帖子有白色徽标。它显示了一个白色徽标,因为它需要在页面和帖子上显示特色图像,然后徽标本身在视觉上看起来很好看,覆盖图像。 这在帖子上效果很好(因为我在每个帖子上放了一个特色图片),但在页面上我想要显示黑色徽标,因为我不想要任何特色图片。
我已将此代码放在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页面上的徽标仍然可以。我的网站上只有几页(主要是帖子) - 只是为了指出这一点。
答案 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;程序编程的基础知识将是我对该用户的第一个建议。