WordPress.org

Make WordPress Core

Changeset 17667


Ignore:
Timestamp:
04/20/11 18:02:41 (4 years ago)
Author:
ryan
Message:

Allow retrieving comments by post type, status, author, author, name, or parent. Fetch only published posts for recent comments widget. Props filosofo. fixes #16506 #12904

Location:
trunk/wp-includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/comment.php

    r17613 r17667  
    214214            'post_ID' => '', 
    215215            'post_id' => 0, 
     216            'post_author' => '', 
     217            'post_name' => '', 
     218            'post_parent' => '', 
     219            'post_status' => '', 
     220            'post_type' => '', 
    216221            'status' => '', 
    217222            'type' => '', 
     
    320325            $where .= $this->get_search_sql( $search, array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content' ) ); 
    321326 
     327        $post_fields = array_filter( compact( array( 'post_author', 'post_name', 'post_parent', 'post_status', 'post_type', ) ) ); 
     328        if ( ! empty( $post_fields ) ) { 
     329            $join = "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID"; 
     330            foreach( $post_fields as $field_name => $field_value ) 
     331                $where .= $wpdb->prepare( " AND {$wpdb->posts}.{$field_name} = %s", $field_value ); 
     332        } 
     333 
    322334        $pieces = array( 'fields', 'join', 'where', 'orderby', 'order', 'limits' ); 
    323335        $clauses = apply_filters_ref_array( 'comments_clauses', array( compact( $pieces ), &$this ) ); 
  • trunk/wp-includes/default-widgets.php

    r17655 r17667  
    641641            $number = 5; 
    642642 
    643         $comments = get_comments( array( 'number' => $number, 'status' => 'approve' ) ); 
     643        $comments = get_comments( array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish' ) ); 
    644644        $output .= $before_widget; 
    645645        if ( $title ) 
Note: See TracChangeset for help on using the changeset viewer.