WordPress.org

Make WordPress Core

Ticket #17662: validate-body-class-vars.diff

File validate-body-class-vars.diff, 3.0 KB (added by wonderboymusic, 6 years ago)
  • wp-includes/post-template.php

     
    428428                $post = $wp_query->get_queried_object();
    429429
    430430                $classes[] = 'single';
    431                 $classes[] = 'single-' . sanitize_html_class($post->post_type, $post_id);
    432                 $classes[] = 'postid-' . $post_id;
     431                if ( isset( $post->post_type ) ) {
     432                        $classes[] = 'single-' . sanitize_html_class($post->post_type, $post_id);
     433                        $classes[] = 'postid-' . $post_id;
    433434
    434                 // Post Format
    435                 if ( post_type_supports( $post->post_type, 'post-formats' ) ) {
    436                         $post_format = get_post_format( $post->ID );
     435                        // Post Format
     436                        if ( post_type_supports( $post->post_type, 'post-formats' ) ) {
     437                                $post_format = get_post_format( $post->ID );
    437438
    438                         if ( $post_format && !is_wp_error($post_format) )
    439                                 $classes[] = 'single-format-' . sanitize_html_class( $post_format );
    440                         else
    441                                 $classes[] = 'single-format-standard';
     439                                if ( $post_format && !is_wp_error($post_format) )
     440                                        $classes[] = 'single-format-' . sanitize_html_class( $post_format );
     441                                else
     442                                        $classes[] = 'single-format-standard';
     443                        }                       
    442444                }
    443445
    444446                if ( is_attachment() ) {
     
    454456                } else if ( is_author() ) {
    455457                        $author = $wp_query->get_queried_object();
    456458                        $classes[] = 'author';
    457                         $classes[] = 'author-' . sanitize_html_class( $author->user_nicename , $author->ID );
    458                         $classes[] = 'author-' . $author->ID;
     459                        if ( isset( $author->user_nicename ) ) {
     460                                $classes[] = 'author-' . sanitize_html_class( $author->user_nicename, $author->ID );
     461                                $classes[] = 'author-' . $author->ID;                           
     462                        }
    459463                } elseif ( is_category() ) {
    460464                        $cat = $wp_query->get_queried_object();
    461465                        $classes[] = 'category';
    462                         $classes[] = 'category-' . sanitize_html_class( $cat->slug, $cat->term_id );
    463                         $classes[] = 'category-' . $cat->term_id;
     466                        if ( isset( $cat->term_id ) ) {
     467                                $classes[] = 'category-' . sanitize_html_class( $cat->slug, $cat->term_id );
     468                                $classes[] = 'category-' . $cat->term_id;                               
     469                        }
    464470                } elseif ( is_tag() ) {
    465471                        $tags = $wp_query->get_queried_object();
    466472                        $classes[] = 'tag';
    467                         $classes[] = 'tag-' . sanitize_html_class( $tags->slug, $tags->term_id );
    468                         $classes[] = 'tag-' . $tags->term_id;
     473                        if ( isset( $tags->term_id ) ) {
     474                                $classes[] = 'tag-' . sanitize_html_class( $tags->slug, $tags->term_id );
     475                                $classes[] = 'tag-' . $tags->term_id;                           
     476                        }
    469477                } elseif ( is_tax() ) {
    470478                        $term = $wp_query->get_queried_object();
    471                         $classes[] = 'tax-' . sanitize_html_class( $term->taxonomy );
    472                         $classes[] = 'term-' . sanitize_html_class( $term->slug, $term->term_id );
    473                         $classes[] = 'term-' . $term->term_id;
     479                        if ( isset( $term->term_id ) ) {
     480                                $classes[] = 'tax-' . sanitize_html_class( $term->taxonomy );
     481                                $classes[] = 'term-' . sanitize_html_class( $term->slug, $term->term_id );
     482                                $classes[] = 'term-' . $term->term_id;
     483                        }
    474484                }
    475485        } elseif ( is_page() ) {
    476486                $classes[] = 'page';