diff --git a/wp-content/themes/classic/header.php b/wp-content/themes/classic/header.php
index a9ca0dd8bd..f16c2805fb 100644
--- a/wp-content/themes/classic/header.php
+++ b/wp-content/themes/classic/header.php
@@ -22,7 +22,7 @@
-
+>
diff --git a/wp-content/themes/default/header.php b/wp-content/themes/default/header.php
index 1dd3b59641..63f20d3355 100644
--- a/wp-content/themes/default/header.php
+++ b/wp-content/themes/default/header.php
@@ -32,7 +32,7 @@ if ( !empty($withcomments) && !is_single() ) {
-
+>
diff --git a/wp-includes/post-template.php b/wp-includes/post-template.php
index ae44aa2a2a..6b648d003e 100644
--- a/wp-includes/post-template.php
+++ b/wp-includes/post-template.php
@@ -338,6 +338,141 @@ function get_post_class( $class = '', $post_id = null ) {
return apply_filters('post_class', $classes, $class, $post_id);
}
+/**
+ * Display the classes for the body element.
+ *
+ * @since 2.8.0
+ *
+ * @param string|array $class One or more classes to add to the class list.
+ */
+function body_class( $class = '' ) {
+ // Separates classes with a single space, collates classes for body element
+ echo 'class="' . join( ' ', get_body_class( $class ) ) . '"';
+}
+
+/**
+ * Retrieve the classes for the body element as an array.
+ *
+ * @since 2.8.0
+ *
+ * @param string|array $class One or more classes to add to the class list.
+ * @return array Array of classes.
+ */
+function get_body_class( $class = '' ) {
+ global $wp_query, $current_user;
+
+ $classes = array();
+
+ if ( 'rtl' == get_bloginfo('text_direction') )
+ $classes[] = 'rtl';
+
+ if ( is_front_page() )
+ $classes[] = 'home';
+ if ( is_home() )
+ $classes[] = 'blog';
+ if ( is_archive() )
+ $classes[] = 'archive';
+ if ( is_date() )
+ $classes[] = 'date';
+ if ( is_search() )
+ $classes[] = 'search';
+ if ( is_paged() )
+ $classes[] = 'paged';
+ if ( is_attachment() )
+ $classes[] = 'attachment';
+ if ( is_404() )
+ $classes[] = 'error404';
+
+ if ( is_single() ) {
+ the_post();
+
+ $postID = $wp_query->post->ID;
+ $classes[] = 'single postid-' . $postID;
+
+ if ( is_attachment() ) {
+ $mime_type = get_post_mime_type();
+ $mime_prefix = array( 'application/', 'image/', 'text/', 'audio/', 'video/', 'music/' );
+ $classes[] = 'attachmentid-' . $postID . ' attachment-' . str_replace( $mime_prefix, "", "$mime_type" );
+ }
+
+ rewind_posts();
+ } elseif ( is_archive() ) {
+ if ( is_author() ) {
+ $author = $wp_query->get_queried_object();
+ $classes[] = 'author';
+ $classes[] = 'author-' . $author->user_nicename;
+ } elseif ( is_category() ) {
+ $cat = $wp_query->get_queried_object();
+ $classes[] = 'category';
+ $classes[] = 'category-' . $cat->slug;
+ } elseif ( is_tag() ) {
+ $tags = $wp_query->get_queried_object();
+ $classes[] = 'tag';
+ $classes[] = 'tag-' . $tags->slug;
+ }
+ } elseif ( is_page() ) {
+ the_post();
+
+ $pageID = $wp_query->post->ID;
+ $page_children = wp_list_pages("child_of=$pageID&echo=0");
+
+ if ( $page_children )
+ $classes[] = 'page-parent';
+
+ if ( $wp_query->post->post_parent )
+ $classes[] = 'page-child parent-pageid-' . $wp_query->post->post_parent;
+
+ if ( is_page_template() )
+ $classes[] = 'page-template page-template-' . str_replace( '.php', '-php', get_post_meta( $pageID, '_wp_page_template', true ) );
+
+ rewind_posts();
+ } elseif ( is_search() ) {
+ the_post();
+
+ if ( have_posts() )
+ $classes[] = 'search-results';
+ else
+ $classes[] = 'search-no-results';
+
+ rewind_posts();
+ }
+
+ if ( is_user_logged_in() )
+ $classes[] = 'logged-in';
+
+ $page = $wp_query->get('page');
+
+ if ( !$page || $page < 2)
+ $page = $wp_query->get('paged');
+
+ if ( $page && $page > 1 ) {
+ $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;
+ }
+
+ if ( !empty($class) ) {
+ if ( !is_array( $class ) )
+ $class = preg_split('#\s+#', $class);
+ $classes = array_merge($classes, $class);
+ }
+
+ return apply_filters('body_class', $classes, $class);
+}
+
/**
* Whether post requires password and correct password has been provided.
*