请注意single.php
是单个帖子的模板文件,通常不用于页面。
还要注意的是get_body_class()
正在添加有关当前页面模板的一些信息:
if ( is_page_template() ) {
$classes[] = "{$post_type}-template";
$template_slug = get_page_template_slug( $post_id );
$template_parts = explode( \'/\', $template_slug );
foreach ( $template_parts as $part ) {
$classes[] = "{$post_type}-template-" . sanitize_html_class(
str_replace( array( \'.\', \'/\' ), \'-\', basename( $part, \'.php\' ) ) );
}
$classes[] = "{$post_type}-template-" . sanitize_html_class(
str_replace( \'.\', \'-\', $template_slug ) );
} else {
$classes[] = "{$post_type}-template-default";
}
如果你想成为目标
single.php
在许多情况下,我们不需要为此添加自定义的body类,因为
get_body_class()
在这种情况下,已添加以下类:
if ( is_single() ) {
$classes[] = \'single\';
if ( isset( $post->post_type ) ) {
$classes[] = \'single-\' . sanitize_html_class( $post->post_type, $post_id );
$classes[] = \'postid-\' . $post_id;
// Post Format
if ( post_type_supports( $post->post_type, \'post-formats\' ) ) {
$post_format = get_post_format( $post->ID );
if ( $post_format && !is_wp_error($post_format) )
$classes[] = \'single-format-\' . sanitize_html_class( $post_format );
else
$classes[] = \'single-format-standard\';
}
}
}
所以我想说,在大多数情况下,默认的body类就足够了。