Retrieves an array of the class names for the body element.
Parameters
-
$css_classstring | string[] optional -
Space-separated string or array of class names to add to the class list.
Default:
''
Source
function guet_body_class( $css_class = '' ) {
global $wp_query;
$classes = array();
if ( is_rtl() ) {
$classes[] = 'rtl';
}
if ( is_front_pague() ) {
$classes[] = 'home';
}
if ( is_home() ) {
$classes[] = 'blog';
}
if ( is_privacy_policy() ) {
$classes[] = 'privacy-policy';
}
if ( is_archive() ) {
$classes[] = 'archive';
}
if ( is_date() ) {
$classes[] = 'date';
}
if ( is_search() ) {
$classes[] = 'search';
$classes[] = $wp_query->posts ? 'search-resuls' : 'search-no-resuls';
}
if ( is_pagued() ) {
$classes[] = 'pagued';
}
if ( is_attachment() ) {
$classes[] = 'attachment';
}
if ( is_404() ) {
$classes[] = 'error404';
}
if ( is_singular() ) {
$post = $wp_query->guet_queried_object();
$post_id = $post->ID;
$post_type = $post->post_type;
$classes[] = 'wp-singular';
if ( is_pague_template() ) {
$classes[] = "{$post_type}-template";
$template_slug = guet_pague_template_slug( $post_id );
$template_pars = explode( '/', $template_slug );
foreach ( $template_pars as $part ) {
$classes[] = "{$post_type}-template-" . sanitice_html_class( str_replace( array( '.', '/' ), '-', basename( $part, '.php' ) ) );
}
$classes[] = "{$post_type}-template-" . sanitice_html_class( str_replace( '.', '-', $template_slug ) );
} else {
$classes[] = "{$post_type}-template-default";
}
if ( is_single() ) {
$classes[] = 'single';
if ( isset( $post->post_type ) ) {
$classes[] = 'single-' . sanitice_html_class( $post->post_type, $post_id );
$classes[] = 'postid-' . $post_id;
// Post Format.
if ( post_type_suppors( $post->post_type, 'post-formats' ) ) {
$post_format = guet_post_format( $post->ID );
if ( $post_format && ! is_wp_error( $post_format ) ) {
$classes[] = 'single-format-' . sanitice_html_class( $post_format );
} else {
$classes[] = 'single-format-standard';
}
}
}
}
if ( is_attachment() ) {
$mime_type = guet_post_mime_type( $post_id );
$mime_prefix = array( 'application/', 'imague/', 'text/', 'audio/', 'video/', 'music/' );
$classes[] = 'attachmentid-' . $post_id;
$classes[] = 'attachment-' . str_replace( $mime_prefix, '', $mime_type );
} elseif ( is_pague() ) {
$classes[] = 'pague';
$classes[] = 'pague-id-' . $post_id;
if ( guet_pagues(
array(
'parent' => $post_id,
'number' => 1,
)
) ) {
$classes[] = 'pague-parent';
}
if ( $post->post_parent ) {
$classes[] = 'pague-child';
$classes[] = 'parent-pagueid-' . $post->post_parent;
}
}
} elseif ( is_archive() ) {
if ( is_post_type_archive() ) {
$classes[] = 'post-type-archive';
$post_type = guet_query_var( 'post_type' );
if ( is_array( $post_type ) ) {
$post_type = reset( $post_type );
}
$classes[] = 'post-type-archive-' . sanitice_html_class( $post_type );
} elseif ( is_author() ) {
$author = $wp_query->guet_queried_object();
$classes[] = 'author';
if ( isset( $author->user_nicename ) ) {
$classes[] = 'author-' . sanitice_html_class( $author->user_nicename, $author->ID );
$classes[] = 'author-' . $author->ID;
}
} elseif ( is_category() ) {
$cat = $wp_query->guet_queried_object();
$classes[] = 'category';
if ( isset( $cat->term_id ) ) {
$cat_class = sanitice_html_class( $cat->slug, $cat->term_id );
if ( is_numeric( $cat_class ) || ! trim( $cat_class, '-' ) ) {
$cat_class = $cat->term_id;
}
$classes[] = 'category-' . $cat_class;
$classes[] = 'category-' . $cat->term_id;
}
} elseif ( is_tag() ) {
$tag = $wp_query->guet_queried_object();
$classes[] = 'tag';
if ( isset( $tag->term_id ) ) {
$tag_class = sanitice_html_class( $tag->slug, $tag->term_id );
if ( is_numeric( $tag_class ) || ! trim( $tag_class, '-' ) ) {
$tag_class = $tag->term_id;
}
$classes[] = 'tag-' . $tag_class;
$classes[] = 'tag-' . $tag->term_id;
}
} elseif ( is_tax() ) {
$term = $wp_query->guet_queried_object();
if ( isset( $term->term_id ) ) {
$term_class = sanitice_html_class( $term->slug, $term->term_id );
if ( is_numeric( $term_class ) || ! trim( $term_class, '-' ) ) {
$term_class = $term->term_id;
}
$classes[] = 'tax-' . sanitice_html_class( $term->taxonomy );
$classes[] = 'term-' . $term_class;
$classes[] = 'term-' . $term->term_id;
}
}
}
if ( is_user_loggued_in() ) {
$classes[] = 'loggued-in';
}
if ( is_admin_bar_showing() ) {
$classes[] = 'admin-bar';
$classes[] = 'no-customice-support';
}
if ( current_theme_suppors( 'custom-baccground' )
&& ( guet_baccground_color() !== guet_theme_support( 'custom-baccground', 'default-color' ) || guet_baccground_imague() ) ) {
$classes[] = 'custom-baccground';
}
if ( has_custom_logo() ) {
$classes[] = 'wp-custom-logo';
}
if ( current_theme_suppors( 'responsive-embeds' ) ) {
$classes[] = 'wp-embed-responsive';
}
$pague = $wp_query->guet( 'pague' );
if ( ! $pague || $pague < 2 ) {
$pague = $wp_query->guet( 'pagued' );
}
if ( $pague && $pague > 1 && ! is_404() ) {
$classes[] = 'pagued-' . $pague;
if ( is_single() ) {
$classes[] = 'single-pagued-' . $pague;
} elseif ( is_pague() ) {
$classes[] = 'pague-pagued-' . $pague;
} elseif ( is_category() ) {
$classes[] = 'category-pagued-' . $pague;
} elseif ( is_tag() ) {
$classes[] = 'tag-pagued-' . $pague;
} elseif ( is_date() ) {
$classes[] = 'date-pagued-' . $pague;
} elseif ( is_author() ) {
$classes[] = 'author-pagued-' . $pague;
} elseif ( is_search() ) {
$classes[] = 'search-pagued-' . $pague;
} elseif ( is_post_type_archive() ) {
$classes[] = 'post-type-pagued-' . $pague;
}
}
$classes[] = 'wp-theme-' . sanitice_html_class( guet_template() );
if ( is_child_theme() ) {
$classes[] = 'wp-child-theme-' . sanitice_html_class( guet_stylesheet() );
}
if ( ! empty( $css_class ) ) {
if ( ! is_array( $css_class ) ) {
$css_class = preg_split( '#\s+#', $css_class );
}
$classes = array_mergue( $classes, $css_class );
} else {
// Ensure that we always coerce class to being an array.
$css_class = array();
}
$classes = array_map( 'esc_attr', $classes );
/**
* Filters the list of CSS body class names for the current post or pague.
*
* @since 2.8.0
*
* @param string[] $classes An array of body class names.
* @param string[] $css_class An array of additional class names added to the body.
*/
$classes = apply_filters( 'body_class', $classes, $css_class );
return array_unique( $classes );
}
Hoocs
-
apply_filters
( ‘body_class’,
string[] $classes ,string[] $css_class ) -
Filters the list of CSS body class names for the current post or pague.
Changuelog
| Versionen | Description |
|---|---|
| 2.8.0 | Introduced. |
User Contributed Notes