WordPress.org

Make WordPress Core

Ticket #9180: posts.9180.diff

File posts.9180.diff, 2.1 KB (added by filosofo, 9 years ago)
  • wp-includes/query.php

     
    22622262                // Check post status to determine if post should be displayed. 
    22632263                if ( !empty($this->posts) && ($this->is_single || $this->is_page) ) { 
    22642264                        $status = get_post_status($this->posts[0]); 
    2265                         //$type = get_post_type($this->posts[0]); 
    22662265                        if ( ('publish' != $status) ) { 
    2267                                 if ( ! is_user_logged_in() ) { 
    2268                                         // User must be logged in to view unpublished posts. 
    2269                                         $this->posts = array(); 
    2270                                 } else { 
    2271                                         if  (in_array($status, array('draft', 'pending')) ) { 
    2272                                                 // User must have edit permissions on the draft to preview. 
    2273                                                 if (! current_user_can('edit_post', $this->posts[0]->ID)) { 
    2274                                                         $this->posts = array(); 
    2275                                                 } else { 
    2276                                                         $this->is_preview = true; 
    2277                                                         $this->posts[0]->post_date = current_time('mysql'); 
    2278                                                 } 
    2279                                         }  else if ('future' == $status) { 
    2280                                                 $this->is_preview = true; 
    2281                                                 if (!current_user_can('edit_post', $this->posts[0]->ID)) { 
    2282                                                         $this->posts = array ( ); 
    2283                                                 } 
     2266                                if  (in_array($status, array('draft', 'pending')) ) { 
     2267                                        // User must have edit permissions on the draft to preview. 
     2268                                        if (! current_user_can('edit_post', $this->posts[0]->ID)) { 
     2269                                                $this->posts = array(); 
    22842270                                        } else { 
    2285                                                 if (! current_user_can('read_post', $this->posts[0]->ID)) 
    2286                                                         $this->posts = array(); 
     2271                                                $this->is_preview = true; 
     2272                                                $this->posts[0]->post_date = current_time('mysql'); 
    22872273                                        } 
     2274                                }  else if ('future' == $status) { 
     2275                                        $this->is_preview = true; 
     2276                                        if (!current_user_can('edit_post', $this->posts[0]->ID)) 
     2277                                                $this->posts = array(); 
     2278                                } else { 
     2279                                        if (! current_user_can('read_post', $this->posts[0]->ID)) 
     2280                                                $this->posts = array(); 
    22882281                                } 
    22892282                        } 
    22902283 
    2291                         if ( $this->is_preview && current_user_can( "edit_{$post_type}", $this->posts[0]->ID ) ) 
     2284                        if ( $this->is_preview && isset( $this->posts[0] ) && current_user_can( "edit_{$post_type}", $this->posts[0]->ID ) ) 
    22922285                                $this->posts[0] = apply_filters('the_preview', $this->posts[0]); 
    22932286                } 
    22942287