WordPress.org

Make WordPress Core

Ticket #39666: 39666.patch

File 39666.patch, 1.3 KB (added by toddhalfpenny, 18 months ago)
  • src/wp-admin/includes/class-wp-posts-list-table.php

     
    638638        public function display_rows( $posts = array(), $level = 0 ) {
    639639                global $wp_query, $per_page;
    640640
     641                $ordered_posts = array();
     642                $home_post = false;
     643                $blog_post = false;
     644
    641645                if ( empty( $posts ) ) {
    642646                        $posts = $wp_query->posts;
     647               
     648                        foreach ( $posts as $post ) {
     649                                if ( intval( get_option( 'page_on_front' ) ) === $post->ID ) {
     650                                        $home_post = $post;
     651                                } else  if ( intval( get_option( 'page_for_posts' ) ) === $post->ID ) {
     652                                        $blog_post = $post;
     653                                } else {
     654                                        array_push( $ordered_posts, $post );
     655                                }
     656                        }
     657                       
     658                        if ( $home_post ) {
     659                                array_unshift( $ordered_posts, $home_post );
     660                        }
     661
     662                        if ( $blog_post ) {
     663                                array_unshift( $ordered_posts, $blog_post );   
     664                        }
    643665                }
    644666
    645667                add_filter( 'the_title', 'esc_html' );
    646668
    647669                if ( $this->hierarchical_display ) {
    648                         $this->_display_rows_hierarchical( $posts, $this->get_pagenum(), $per_page );
     670                        $this->_display_rows_hierarchical( $ordered_posts, $this->get_pagenum(), $per_page );
    649671                } else {
    650                         $this->_display_rows( $posts, $level );
     672                        $this->_display_rows( $ordered_posts, $level );
    651673                }
    652674        }
    653675