+ if ( is_attachment() ) {
+ $mime_type = get_post_mime_type($post_id);
+ $mime_prefix = array( 'application/', 'image/', 'text/', 'audio/', 'video/', 'music/' );
+ $classes[] = 'attachmentid-' . $post_id;
+ $classes[] = 'attachment-' . str_replace( $mime_prefix, '', $mime_type );
+ }
+ } elseif ( is_archive() ) {
+ if ( is_post_type_archive() ) {
+ $classes[] = 'post-type-archive';
+ $post_type = get_query_var( 'post_type' );
+ if ( is_array( $post_type ) )
+ $post_type = reset( $post_type );
+ $classes[] = 'post-type-archive-' . sanitize_html_class( $post_type );
+ } elseif ( is_author() ) {
+ $author = $wp_query->get_queried_object();
+ $classes[] = 'author';
+ if ( isset( $author->user_nicename ) ) {
+ $classes[] = 'author-' . sanitize_html_class( $author->user_nicename, $author->ID );
+ $classes[] = 'author-' . $author->ID;
+ }
+ } elseif ( is_category() ) {
+ $cat = $wp_query->get_queried_object();
+ $classes[] = 'category';
+ if ( isset( $cat->term_id ) ) {
+ $cat_class = sanitize_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->get_queried_object();
+ $classes[] = 'tag';
+ if ( isset( $tag->term_id ) ) {
+ $tag_class = sanitize_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->get_queried_object();
+ if ( isset( $term->term_id ) ) {
+ $term_class = sanitize_html_class( $term->slug, $term->term_id );
+ if ( is_numeric( $term_class ) || ! trim( $term_class, '-' ) ) {
+ $term_class = $term->term_id;
+ }
+
+ $classes[] = 'tax-' . sanitize_html_class( $term->taxonomy );
+ $classes[] = 'term-' . $term_class;
+ $classes[] = 'term-' . $term->term_id;
+ }
+ }
+ } elseif ( is_page() ) {
+ $classes[] = 'page';
+
+ $page_id = $wp_query->get_queried_object_id();
+
+ $post = get_post($page_id);
+
+ $classes[] = 'page-id-' . $page_id;
+
+ if ( get_pages( array( 'parent' => $page_id, 'number' => 1 ) ) ) {
+ $classes[] = 'page-parent';
+ }
+
+ if ( $post->post_parent ) {
+ $classes[] = 'page-child';
+ $classes[] = 'parent-pageid-' . $post->post_parent;
+ }
+ if ( is_page_template() ) {
+ $classes[] = 'page-template';
+
+ $template_slug = get_page_template_slug( $page_id );
+ $template_parts = explode( '/', $template_slug );
+
+ foreach ( $template_parts as $part ) {
+ $classes[] = 'page-template-' . sanitize_html_class( str_replace( array( '.', '/' ), '-', basename( $part, '.php' ) ) );
+ }
+ $classes[] = 'page-template-' . sanitize_html_class( str_replace( '.', '-', $template_slug ) );
+ } else {
+ $classes[] = 'page-template-default';
+ }
+ }
+
+ if ( is_user_logged_in() )
+ $classes[] = 'logged-in';
+
+ if ( is_admin_bar_showing() ) {
+ $classes[] = 'admin-bar';
+ $classes[] = 'no-customize-support';
+ }
+
+ if ( get_background_color() !== get_theme_support( 'custom-background', 'default-color' ) || get_background_image() )
+ $classes[] = 'custom-background';
+
+ $page = $wp_query->get( 'page' );
+
+ if ( ! $page || $page < 2 )
+ $page = $wp_query->get( 'paged' );
+
+ if ( $page && $page > 1 && ! is_404() ) {
+ $classes[] = 'paged-' . $page;
+
+ if ( is_single() )
+ $classes[] = 'single-paged-' . $page;
+ elseif ( is_page() )
+ $classes[] = 'page-paged-' . $page;
+ elseif ( is_category() )
+ $classes[] = 'category-paged-' . $page;
+ elseif ( is_tag() )
+ $classes[] = 'tag-paged-' . $page;
+ elseif ( is_date() )
+ $classes[] = 'date-paged-' . $page;
+ elseif ( is_author() )
+ $classes[] = 'author-paged-' . $page;
+ elseif ( is_search() )
+ $classes[] = 'search-paged-' . $page;
+ elseif ( is_post_type_archive() )
+ $classes[] = 'post-type-paged-' . $page;
+ }
+
+ if ( ! empty( $class ) ) {