From 97698eb127380759a519dbb6e64534c1e7838b54 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Wed, 11 Feb 2015 04:00:26 +0000 Subject: [PATCH] Always pass back the custom classes `get_post_class()` was called with, even if the post was not found. props F J Kaiser, Bueltge. fixes #22271. Built from https://develop.svn.wordpress.org/trunk@31408 git-svn-id: http://core.svn.wordpress.org/trunk@31389 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/post-template.php | 20 +++++++++++--------- wp-includes/version.php | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/wp-includes/post-template.php b/wp-includes/post-template.php index d5f839cf6d..c4050d9718 100644 --- a/wp-includes/post-template.php +++ b/wp-includes/post-template.php @@ -404,12 +404,20 @@ function post_class( $class = '', $post_id = null ) { * @return array Array of classes. */ function get_post_class( $class = '', $post_id = null ) { - $post = get_post($post_id); + $post = get_post( $post_id ); $classes = array(); - if ( empty($post) ) + if ( $class ) { + if ( ! is_array( $class ) ) { + $class = preg_split( '#\s+#', $class ); + } + $classes = array_map( 'esc_attr', $class ); + } + + if ( ! $post ) { return $classes; + } $classes[] = 'post-' . $post->ID; if ( ! is_admin() ) @@ -466,13 +474,7 @@ function get_post_class( $class = '', $post_id = null ) { } } - if ( !empty($class) ) { - if ( !is_array( $class ) ) - $class = preg_split('#\s+#', $class); - $classes = array_merge($classes, $class); - } - - $classes = array_map('esc_attr', $classes); + $classes = array_map( 'esc_attr', $classes ); /** * Filter the list of CSS classes for the current post. diff --git a/wp-includes/version.php b/wp-includes/version.php index c50cc538a5..61a3736518 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.2-alpha-31407'; +$wp_version = '4.2-alpha-31408'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.