Changeset 12518
- Timestamp:
- 12/23/2009 04:16:13 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/comment.php
r12470 r12518 186 186 global $wpdb; 187 187 188 $defaults = array('status' => '', 'orderby' => 'comment_date_gmt', 'order' => 'DESC', 'number' => '', 'offset' => '', 'post_id' => 0); 188 $defaults = array( 189 'author_email' => '', 190 'ID' => '', 191 'karma' => '', 192 'number' => '', 193 'offset' => '', 194 'orderby' => '', 195 'order' => 'DESC', 196 'parent' => '', 197 'post_ID' => '', 198 'post_id' => 0, 199 'status' => '', 200 'type' => '', 201 'user_id' => '', 202 ); 189 203 190 204 $args = wp_parse_args( $args, $defaults ); … … 219 233 $order = ( 'ASC' == $order ) ? 'ASC' : 'DESC'; 220 234 221 $orderby = 'comment_date_gmt'; // Hard code for now 235 if ( ! empty( $orderby ) ) { 236 $ordersby = is_array($orderby) ? $orderby : preg_split('/[,\s]/', $orderby); 237 $ordersby = array_intersect( 238 $ordersby, 239 array( 240 'comment_agent', 241 'comment_approved', 242 'comment_author', 243 'comment_author_email', 244 'comment_author_IP', 245 'comment_author_url', 246 'comment_content', 247 'comment_date', 248 'comment_date_gmt', 249 'comment_ID', 250 'comment_karma', 251 'comment_parent', 252 'comment_post_ID', 253 'comment_type', 254 'user_id', 255 ) 256 ); 257 $orderby = empty( $ordersby ) ? 'comment_date_gmt' : implode(', ', $ordersby); 258 } else { 259 $orderby = 'comment_date_gmt'; 260 } 222 261 223 262 $number = absint($number); … … 234 273 } 235 274 275 $post_where = ''; 276 236 277 if ( ! empty($post_id) ) 237 $post_where = $wpdb->prepare( 'comment_post_ID = %d AND', $post_id ); 238 else 239 $post_where = ''; 278 $post_where .= $wpdb->prepare( 'comment_post_ID = %d AND ', $post_id ); 279 if ( '' !== $author_email ) 280 $post_where .= $wpdb->prepare( 'comment_author_email = %s AND ', $author_email ); 281 if ( '' !== $karma ) 282 $post_where .= $wpdb->prepare( 'comment_karma = %d AND ', $karma ); 283 if ( 'comment' == $type ) 284 $post_where .= "comment_type = '' AND "; 285 elseif ( ! empty( $type ) ) 286 $post_where .= $wpdb->prepare( 'comment_type = %s AND ', $type ); 287 if ( '' !== $parent ) 288 $post_where .= $wpdb->prepare( 'comment_parent = %d AND ', $parent ); 289 if ( '' !== $user_id ) 290 $post_where .= $wpdb->prepare( 'user_id = %d AND ', $user_id ); 240 291 241 292 $comments = $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE $post_where $approved ORDER BY $orderby $order $number" );
Note: See TracChangeset
for help on using the changeset viewer.