WordPress.org

Make WordPress Core

Ticket #9211: widgets.diff

File widgets.diff, 1.0 KB (added by menelicte, 5 years ago)
  • wp-includes/widgets.php

     
    13871387                $number = 1; 
    13881388        else if ( $number > 15 ) 
    13891389                $number = 15; 
     1390        $can_read_priv_posts=current_user_can('read_private_posts')?"OR p.post_type='post'":""; 
     1391        $can_read_priv_pages=current_user_can('read_private_pages')?"OR p.post_type='page'":""; 
    13901392 
    13911393        if ( !$comments = wp_cache_get( 'recent_comments', 'widget' ) ) { 
    1392                 $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT $number"); 
     1394                $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments c LEFT JOIN $wpdb->posts p ON c.comment_post_id = p.ID WHERE c.comment_approved = '1' AND p.post_status<>'draft' AND (p.post_status<>'private' $can_read_priv_posts $can_read_priv_pages ) ORDER BY c.comment_date_gmt DESC LIMIT $number"); 
    13931395                wp_cache_add( 'recent_comments', $comments, 'widget' ); 
    13941396        } 
    13951397?>