Ticket #18791: 18791.patch
File 18791.patch, 2.9 KB (added by , 9 years ago) |
---|
-
src/wp-includes/author-template.php
336 336 'orderby' => 'name', 'order' => 'ASC', 'number' => '', 337 337 'optioncount' => false, 'exclude_admin' => true, 338 338 'show_fullname' => false, 'hide_empty' => true, 339 'feed' => '', 'feed_image' => '', 'feed_type' => '', ' echo' => true,339 'feed' => '', 'feed_image' => '', 'feed_type' => '', 'post_type' => '', 'echo' => true, 340 340 'style' => 'list', 'html' => true, 'exclude' => '', 'include' => '' 341 341 ); 342 342 … … 348 348 $query_args['fields'] = 'ids'; 349 349 $authors = get_users( $query_args ); 350 350 351 if( ! empty( $args['post_type'] ) ) { 352 $post_type = "post_type = '{$args['post_type']}' "; 353 } else { 354 $post_type = ""; 355 } 356 351 357 $author_count = array(); 352 foreach ( (array) $wpdb->get_results( "SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author" ) as $row ) {358 foreach ( (array) $wpdb->get_results( "SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE $post_type" . get_private_posts_cap_sql( 'any' ) . " GROUP BY post_author" ) as $row ) { 353 359 $author_count[$row->post_author] = $row->count; 354 360 } 355 361 foreach ( $authors as $author_id ) { … … 440 446 global $wpdb; 441 447 442 448 if ( false === ( $is_multi_author = get_transient( 'is_multi_author' ) ) ) { 443 $rows = (array) $wpdb->get_col("SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_ type = 'post' AND post_status = 'publish' LIMIT 2");449 $rows = (array) $wpdb->get_col("SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status = 'publish' LIMIT 2"); 444 450 $is_multi_author = 1 < count( $rows ) ? 1 : 0; 445 451 set_transient( 'is_multi_author', $is_multi_author ); 446 452 } -
src/wp-includes/post.php
5238 5238 $cap = $post_type_obj->cap->read_private_posts; 5239 5239 } 5240 5240 5241 if ( $full ) {5241 if ( $full && 'any' != $post_type ) { 5242 5242 if ( null === $post_author ) { 5243 5243 $sql = $wpdb->prepare( 'WHERE post_type = %s AND ', $post_type ); 5244 5244 } else { -
src/wp-includes/user.php
256 256 * @param int $userid User ID. 257 257 * @return int Amount of posts user has written. 258 258 */ 259 function count_user_posts( $userid) {259 function count_user_posts( $userid, $post_type = false ) { 260 260 global $wpdb; 261 261 262 $where = get_posts_by_author_sql( 'post', true, $userid);262 $where = get_posts_by_author_sql( $post_type, true, $userid ); 263 263 264 264 $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" ); 265 265