Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: comment_feed_join

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 2 times in this file.

Line Code
2817                     $cwhere = "WHERE comment_approved = '1' $where";
2818                     $cgroupby = "$wpdb->comments.comment_id";
2819                } else { // Other non singular e.g. front
2820                     $cjoin = "JOIN $wpdb->posts ON ( $wpdb->comments.comment_post_ID = $wpdb->posts.ID )";
2821                     $cwhere = "WHERE post_status = 'publish' AND comment_approved = '1'";
2822                     $cgroupby = '';
2823                }
2824
2825                if ( !$q['suppress_filters'] ) {
2826                     $cjoin = apply_filters_ref_array('comment_feed_join', array( $cjoin, &$this ) );
2827                     $cwhere = apply_filters_ref_array('comment_feed_where', array( $cwhere, &$this ) );
2828                     $cgroupby = apply_filters_ref_array('comment_feed_groupby', array( $cgroupby, &$this ) );
2829                     $corderby = apply_filters_ref_array('comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
2830                     $climits = apply_filters_ref_array('comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
2831                }
2832                $cgroupby = ( ! empty( $cgroupby ) ) ? 'GROUP BY ' . $cgroupby : '';
2833                $corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
2834
2835                $this->comments = (array) $wpdb->get_results("SELECT $distinct $wpdb->comments.* FROM $wpdb->comments $cjoin $cwhere $cgroupby $corderby $climits");
 
Line Code
2948           // Convert to WP_Post objects
2949           if ( $this->posts )
2950                $this->posts = array_map( 'get_post', $this->posts );
2951
2952           // Raw results filter. Prior to status checks.
2953           if ( !$q['suppress_filters'] )
2954                $this->posts = apply_filters_ref_array('posts_results', array( $this->posts, &$this ) );
2955
2956           if ( !empty($this->posts) && $this->is_comment_feed && $this->is_singular ) {
2957                $cjoin = apply_filters_ref_array('comment_feed_join', array( '', &$this ) );
2958                $cwhere = apply_filters_ref_array('comment_feed_where', array( "WHERE comment_post_ID = '{$this->posts[0]->ID}' AND comment_approved = '1'", &$this ) );
2959                $cgroupby = apply_filters_ref_array('comment_feed_groupby', array( '', &$this ) );
2960                $cgroupby = ( ! empty( $cgroupby ) ) ? 'GROUP BY ' . $cgroupby : '';
2961                $corderby = apply_filters_ref_array('comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
2962                $corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
2963                $climits = apply_filters_ref_array('comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
2964                $comments_request = "SELECT $wpdb->comments.* FROM $wpdb->comments $cjoin $cwhere $cgroupby $corderby $climits";
2965                $this->comments = $wpdb->get_results($comments_request);
2966                $this->comment_count = count($this->comments);