对于我的网站,我需要有不同的标题颜色,这取决于它所在的页面。以下是我的网站正在运行的代码:
<?php if ( is_single() && is_post_type(\'product\') || is_page(576) || is_single() && is_post_type(\'post\')) : ?>
<div class="header-inner">
<style type="text/css">.header-inner { background-color:#861919!important; }</style>
<?php else : ?>
<div class="header-inner" style="background-color:rgba(0,0,0,0.30);">
<?php endif; ?>
我试图修改以上内容,以排除某些产品帖子,因为它们的设计。我会注意到,大多数产品都使用post模板。php,我需要有一个透明的标题,这些标题使用的是product specialty。php。我的开发人员安装了插件WP Post,以便能够选择不同的模板。下面是我对修改后的代码的尝试,但结果是没有加载任何内容:
<?php if ( is_single(893,892,843,895,894,896) ) : ?>
<div class="header-inner" style="background-color:rgba(0,0,0,0.30);">
<?php else( is_single() && is_post_type(\'product\') || is_page(576) || is_single() && is_post_type(\'post\')) : ?>
<div class="header-inner">
<style type="text/css">.header-inner { background-color:#861919!important; }</style>
<?php elseif : ?>
<div class="header-inner" style="background-color:rgba(0,0,0,0.30);">
<?php endif; ?>
知道我做错了什么吗?
最合适的回答,由SO网友:RiddleMeThis 整理而成
这里有一个替代解决方案。我认为这比添加所有这些if语句和页面id更干净。您可以使用CSS和WP添加的body类来实现这一点。
例如,转到其中一个页面,查看body标记上的类。您应该看到类似于页面id-####的内容。然后只需在样式表或CSS定制器中添加一条规则。
像这样的。。。
body.page-id-123 .header-inner,
body.page-id-124 .header-inner,
body.page-id-125 .header-inner, {
background-color:#861919!important;
}
下面是如何定位其他页面的方法。
所有单一产品页面-正文。单一产品。标题内部{}
特定的单个帖子正文。postid-####。标题内部{}博客页面-正文。博客标题内部{}所有单个博客页面-正文。单立柱。标题内部{}等只要检查一下每一页,你就会明白了。Create your own body class
如果需要,可以使用body\\u类过滤器创建自己的body类,下面是一个如何使用它的基本示例。当然,您可以通过添加条件或检查模板来做更多的事情。function my_custom_body_class($classes) {
$classes[] = \'foo\';
return $classes;
}
add_filter(\'body_class\', \'my_custom_body_class\');