Make WordPress Core


Ignore:
Timestamp:
04/02/2006 12:33:10 AM (20 years ago)
Author:
ryan
Message:

Some optimization of the post query. #2604

File:
1 edited

Legend:

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

    r3649 r3678  
    506506        $where = '';
    507507        $limits = '';
    508         $distinct = '';
    509508        $join = '';
    510509
     
    823822        }
    824823
    825         //$now = gmdate('Y-m-d H:i:59');
    826        
    827         //only select past-dated posts, except if a logged in user is viewing a single: then, if they
    828         //can edit the post, we let them through
    829         //if ($pagenow != 'post.php' && $pagenow != 'edit.php' && !($this->is_single && $user_ID)) {
    830         //  $where .= " AND post_date_gmt <= '$now'";
    831         //  $distinct = 'DISTINCT';
    832         //}
    833 
    834824        if ( $this->is_attachment ) {
    835825            $where .= ' AND (post_type = "attachment")';
     
    843833            if ( is_admin() )
    844834                $where .= " OR post_status = 'future' OR post_status = 'draft'";
    845             else
    846                 $distinct = 'DISTINCT';
    847835   
    848836            if ( is_user_logged_in() )
     
    885873        // manipulate paging queries should use these hooks.
    886874        $where = apply_filters('posts_where_paged', $where);
    887         $groupby = " $wpdb->posts.ID ";
     875        $groupby = '';
    888876        $groupby = apply_filters('posts_groupby', $groupby);
     877        if ( ! empty($groupby) )
     878            $groupby = 'GROUP BY ' . $groupby;
    889879        $join = apply_filters('posts_join_paged', $join);
    890880        $orderby = apply_filters('posts_orderby', $q['orderby']);
    891         $request = " SELECT $distinct * FROM $wpdb->posts $join WHERE 1=1" . $where . " GROUP BY " . $groupby . " ORDER BY " . $orderby . " $limits";
     881        $request = " SELECT * FROM $wpdb->posts $join WHERE 1=1 $where $groupby ORDER BY $orderby $limits";
    892882        $this->request = apply_filters('posts_request', $request);
    893883
Note: See TracChangeset for help on using the changeset viewer.