如何在每个帖子中应用CSS更改(每个帖子ID)

时间:2017-06-04 02:55:12

标签: css wordpress posts

我想隐藏侧边栏并将内容框拉伸到我的WP博客中的所有帖子的全宽。对于我所做的个人帖子,以及它的正常运作:

.postid-72 #main-sidebar {
display: none;
}
.postid-72 #main-content {
width: 100%;
}

但是我正在寻找一些方法将这些更改应用到我的所有博文中,这样的假设是这样的:

.postid-**every id posts** #main-sidebar {
display: none;
}
.postid-**every id posts** #main-content {
width: 100%;
}

我知道可以做这样的事情,这对我来说没什么用处:

.postid-72, .postid-53, .postid-115 #main-sidebar {
display: none;
}

4 个答案:

答案 0 :(得分:1)

每个“单个帖子”的正文类别为single-post。所以你可以这样做:

.single-post #main-sidebar {
  display:none;
}
.single-post #main-content {
  width:100%;
}

答案 1 :(得分:0)

为所有帖子添加公共类,例如stretch-content,并使用css,如

.stretch-content #main-sidebar {
display: none;
}
.stretch-content #main-content {
width: 100%;
}

答案 2 :(得分:0)

听起来你正在寻找CSS Attribute Selector。具体做法是:

  

[attribute^="value"]选择器用于选择属性值以指定值开头的元素。

因此,要选择任何具有以“postid-”开头的类的元素,您可以使用以下内容:

[class^="postid-"] #main-sidebar {
display: none;
}
[class^="postid-"] #main-content {
width: 100%;
}

请注意^=

这将选择所有具有以引号内的字符串开头的类的元素。离开^会产生与使用.postid-作为选择器相同的结果。

另请注意,虽然这些选择器可能是CSS工具包的一个非常强大的补充,但它们可能存在缺陷。更容易无意中选择其他元素;特别是在WP插件的大型生态系统中。

答案 3 :(得分:0)

如果您只想使用帖子ID设置这两个css,那么您只能在header.php部分head部分中设置这两个css,并传递动态ID,如下所示:

首先获取当前帖子ID:$id = get_the_ID()然后使用

将其传递给您的css
.postid-<?php echo $id; ?> #main-sidebar {
display: none;
}
.postid-<?php echo $id; ?> #main-content {
width: 100%;
}

希望这对你有所帮助。 感谢。