您想在不同的页面上添加不同的CSS类。你可以通过页面或页面id来检查它。这对你来说会有点长。然而,您可以通过两种方式来实现。(可能还有更多的方法,但我建议您选择这两种)
对于这两种情况,您应该将以下代码添加到活动主题的头文件中,在其中渲染body标记
<body <?php body_class( \'class-name\' ); ?>>
<使用body\\u类过滤器(挂钩)中的代码检查页面:
add_filter( \'body_class\', \'add_custom_class\', 10, 1);
function add_custom_class( $classes ) {
if ( is_page( 57 ) ) {
// 57 is your desire page id for example
// if ( is_page ( \'home\' ) ) { // the slug of page
array_merge( $classes, array( \'home-class\' ) );
} elseif( is_page( 58 ) ) {
// elseif ( is_page(\'about-us\') ) {
array_merge( $classes, array( \'about-class\' ) );
} elseif ( is_page( 60 ) ) {
// elseif( is_page(\'contact-us\') )
array_merge( $classes, array( \'contact-class\' ) );
}
// until all your pages are finished.
return $classes;
}
另一种方法是在wp admin中的每个页面上添加元框或自定义字段,并添加该页面的类,然后修改上述代码,如下所示:
add_filter( \'body_class\', \'add_custom_class\', 10, 1);
function add_custom_class( $classes ) {
// If you\'re using custom-field or meta that should be shaved in postmeta table
global $post;
$page_class = get_post_meta( $post->ID, \'meta_key\', true );
// You can use Advance custom field plugins to add fields into your posts/pages
// If you use ACF plugin you can use get_field( \'selector\', $post->ID ) instead of get_post_meta(...);
if ( is_page() ) {
if( \'\' != $page_class ) {
array_merge( $classes, array( $page_class ) );
}
}
return $classes;
}