有没有办法使用is_page()将样式表分配给整个页面集

时间:2012-02-06 作者:David Cibin

下面的代码允许我使用与我声明的任何页面不同的CSS样式

<body<?php if ( is_page(array(\'page1\', \'page2\', \'page3\'))) {
echo \' class="myclass" \'; } ?>>
例如,我可以将此css用于page1、page2和page3:

.myclass #content { background-color: #123456; }
.myclass #content p { color: #987654; }
但是,我不知道如何在某个特定路径(例如路径/产品)中的每个页面上使用此选项。假设我在路径下有大约30页:mysite。com/products/somepage1-->somepage2,somepage3。。。somepage30

因此,我必须在上面的代码中包括每个页面,甚至最糟糕的是,每当我添加新页面时,我都必须将其包含到代码中。

有没有机会用一种简单的方法将所有页面(和新页面)添加到一个特定的路径中?

2 个回复
SO网友:Mamaduka

假设您使用父页“照片”作为路径。

使用body_class() 函数用于根据当前页面或帖子输出不同的类。只需在主题中插入此函数。

<body <?php body_class(); ?>>
此函数将添加parent-pageid-(id) 在每个子页上初始化,因为“照片”的每个子页都将共享相同的parent-pageid-(id) 类,您可以轻松地向其添加特定样式。

.parent-pageid-(id-of-photos-page) #content {
     /** Put your style here */
}
.parent-pageid-(id-of-photos-page) #content p {
    /** Style for paragraph tag */
}

SO网友:Tomas Buteler

实际上,有很多选项可供选择,因此一定会有一个功能适合您的需要。

我们需要更多关于您如何生成您提到的页面的详细信息,但假设您谈论的是自定义帖子类型,添加此页面而不是is\\U页面将在所有页面中产生预期效果,包括将来的页面:

is_singular(\'wpsc-product\');
如果这不是您想要的,请查看可用函数列表here.

结束

相关推荐