Pages, Post Types: Escape CSS classes in Walker_Page::start_el() after the page_css_class filter runs.

Don't add an empty `class` attribute if there are no classes, for consistency with `Walker_Nav_Menu::start_el()`.

Props abhijitrakas, mukesh27.
Fixes #44880.

git-svn-id: https://develop.svn.wordpress.org/trunk@44415 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2019-01-07 12:53:22 +00:00
parent d81408d7f6
commit e1e3467c5e

View File

@ -148,6 +148,7 @@ class Walker_Page extends Walker {
* @param int $current_page ID of the current page.
*/
$css_classes = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) );
$css_classes = $css_classes ? ' class="' . esc_attr( $css_classes ) . '"' : '';
if ( '' === $page->post_title ) {
/* translators: %d: ID of a post */
@ -186,7 +187,7 @@ class Walker_Page extends Walker {
}
$output .= $indent . sprintf(
'<li class="%s"><a%s>%s%s%s</a>',
'<li%s><a%s>%s%s%s</a>',
$css_classes,
$attributes,
$args['link_before'],