我有很多页面:
上面3页需要有不同的背景颜色。
其余的页面/帖子从 style.css 文件中获取 background-color 。
由于我使用的是Bootstrap 3,我在上面3页中应用不同的背景颜色时遇到了麻烦,它留下了一些边距,其中边距中的间隙应用 style.css 文件中的背景颜色。怎么解决这个问题?
答案 0 :(得分:0)
您可以在functions.php
文件中尝试这样做:
add_action('wp_head', 'show_template');
function show_template() {
global $template;
//$custom_template = array('page-X.php', 'page-Y.php', 'page-Y.php');
// Return the template name including custom template with extension
$template_name = str_replace('/', '', strrchr( $template, "/" ));
// Now you can check your page and apply the css through
if( $template_name == "page-X.php" ) {
?>
<style type="text/css"></style>
<?php
}
}
答案 1 :(得分:0)
WordPress有一个非常方便的body_class()函数,正是出于这个目的,它允许您定位各种页面的主体。以下是如何将其添加到模板文件中:
<body <?php body_class(); ?>>
在食典委中阅读更多内容:http://codex.wordpress.org/Function_Reference/body_class
答案 2 :(得分:0)
最简单的方法是在身体类上应用css。您可以查看源以获取页面的ID。
body.page-id-3938{background:red;}
编辑:另一种方法是使用过滤器自动向这些页面添加类。然后将类似.red的类分配给它。
//Functions.php
if(is_page('X')){
add_filter( 'body_class', my_class_names($classes, 'red') );
}elseif(is_page('Y')){
add_filter( 'body_class', my_class_names($classes, 'blue') );
}elseif(is_page('Z')){
add_filter( 'body_class', my_class_names($classes, 'green') );
}
function my_class_names( $classes,$myclass ) {
$classes[] = $myclass;
return $classes;
}
// Styles.css file
body.red{background:red!important;}
body.blue{background:blue!important;}
body.green{background:green!important;}