WordPress.org

Make WordPress Core

Ticket #17019: 17019.3.diff

File 17019.3.diff, 3.7 KB (added by wonderboymusic, 8 years ago)
  • src/wp-admin/includes/class-wp-media-list-table.php

     
    4242        }
    4343
    4444        function get_views() {
    45                 global $wpdb, $post_mime_types, $avail_post_mime_types;
     45                global $post_mime_types, $avail_post_mime_types;
    4646
    4747                $type_links = array();
    4848                $_num_posts = (array) wp_count_attachments();
    4949                $_total_posts = array_sum($_num_posts) - $_num_posts['trash'];
    50                 $total_orphans = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent < 1" );
     50
     51                $args = array(
     52                        'fields' => 'count',
     53                        'post_type' => 'attachment',
     54                        'post_status' => 'any',
     55                        'post_parent' => 0,
     56                        'suppress_filters' => false,
     57                        'query_context' => 'attachment_orphans_count',
     58                );
     59                $total_orphans = (int) get_posts( $args );
     60
    5161                $matches = wp_match_mime_types(array_keys($post_mime_types), array_keys($_num_posts));
    5262                foreach ( $matches as $type => $reals )
    5363                        foreach ( $reals as $real )
     
    308318
    309319                if ( $parent ) {
    310320                        $title = _draft_or_post_title( $post->post_parent );
    311                         $parent_type = get_post_type_object( $parent->post_type ); 
     321                        $parent_type = get_post_type_object( $parent->post_type );
    312322?>
    313323                        <td <?php echo $attributes ?>><strong>
    314324                                <?php if ( current_user_can( 'edit_post', $post->post_parent ) && $parent_type->show_ui ) { ?>
  • src/wp-admin/includes/media.php

     
    3333 * @return array $tabs with gallery if post has image attachment
    3434 */
    3535function update_gallery_tab($tabs) {
    36         global $wpdb;
    37 
    38         if ( !isset($_REQUEST['post_id']) ) {
    39                 unset($tabs['gallery']);
     36        if ( ! isset( $_REQUEST['post_id'] ) ) {
     37                unset( $tabs['gallery'] );
    4038                return $tabs;
    4139        }
    4240
    43         $post_id = intval($_REQUEST['post_id']);
     41        $post_id = intval( $_REQUEST['post_id'] );
    4442
    45         if ( $post_id )
    46                 $attachments = intval( $wpdb->get_var( $wpdb->prepare( "SELECT count(*) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent = %d", $post_id ) ) );
     43        if ( $post_id ) {
     44                $args = array(
     45                        'fields' => 'count',
     46                        'post_type' => 'attachment',
     47                        'post_status' => 'any',
     48                        'post_parent' => $post_id,
     49                        'suppress_filters' => false,
     50                        'query_context' => 'gallery_attachment_count',
     51                );
     52                $attachments = (int) get_posts( $args );
     53        }
    4754
    48         if ( empty($attachments) ) {
    49                 unset($tabs['gallery']);
     55        if ( empty( $attachments ) ) {
     56                unset( $tabs['gallery'] );
    5057                return $tabs;
    5158        }
    5259
  • src/wp-includes/query.php

     
    14091409                        , 'sentence'
    14101410                        , 'fields'
    14111411                        , 'menu_order'
     1412                        , 'query_context'
    14121413                );
    14131414
    14141415                foreach ( $keys as $key ) {
     
    20692070                        case 'id=>parent':
    20702071                                $fields = "$wpdb->posts.ID, $wpdb->posts.post_parent";
    20712072                                break;
     2073                        case 'count':
     2074                                $fields = "COUNT(*)";
     2075                                break;
    20722076                        default:
    20732077                                $fields = "$wpdb->posts.*";
    20742078                }
     
    27172721                        return $r;
    27182722                }
    27192723
     2724                if ( 'count' == $q['fields'] ) {
     2725                        $this->posts = $wpdb->get_var( $this->request );
     2726                        return $this->posts;
     2727                }
     2728               
    27202729                $split_the_query = ( $old_request == $this->request && "$wpdb->posts.*" == $fields && !empty( $limits ) && $q['posts_per_page'] < 500 );
    27212730                $split_the_query = apply_filters( 'split_the_query', $split_the_query, $this );
    27222731