针对特定页面的CSS定制

时间:2012-06-30 作者:Nick

我使用Wordpress已经有一段时间了,现在我需要定制css,但只针对特定页面。我知道一种方法是使用条件标记:

if ( is_page( \'mypage\' )

这就是我被卡住的地方!

是否有其他方法可以定制css,仅针对特定页面?

2 个回复
SO网友:mrwweb

如果你有很多规则需要有条件地应用(没有硬性的规则,但是,为了弥补,可能需要10-15行以上?)那么@aahan的答案就是要走的路。如果你只有几个,那就从身体课上下来吧。

在您的header.php 文件(至少是通用名称)确保<body> 具有:

<body <?php body_class(); ?>>
然后你会得到很多类,你可以用它们来编写条件样式,比如

.page-123 .entry-content
.template-my-custom-template-php h1
等等。。。

SO网友:its_me

您需要这样的内容(添加到functions.php中):

add_action(\'wp_enqueue_scripts\',\'wpse57014_register_script\');
function wpse57014_register_script(){

    //Register and enqueue stylesheet only on this page
    if ( is_page( \'mypage\' ) ) {
        wp_register_style( \'wpse57014_mypage_stylesheet\', get_template_directory_uri().\'/mypage-style.css\' );
        wp_enqueue_style( \'wpse57014_mypage_stylesheet\' );
    }

}
在哪里mypage 是仅希望加载样式表的页面的slug。替换的实例mypage 在代码中保持代码对您的易懂(如果您知道自己在做什么,也可以根据自己的意愿进行修改)。

get_template_directory_uri().\'/mypage-style.css\' 是主题中样式表的路径,例如-http://example.com/wp-content/themes/MY THEME/mypage-style.css.

结束

相关推荐

Sanitize User Entered CSS

有人知道如何清理通过用户输入输入的CSS吗?我担心通过CSS编写跨站点脚本。我正在使用wp\\u filter\\u kses清理用户输入的HTML,但我需要一个类似于用户输入样式的解决方案。到目前为止,我正在使用以下丑陋且不完整的函数,但我希望得到更完整的函数。function sanitizeCSS ( $css ) { $css = str_replace( \'/-moz-binding/\', \'\', $css ); $css = str_replace( \