WordPress.org

Make WordPress Core

Ticket #14997: wp_query_clauses.diff

File wp_query_clauses.diff, 3.1 KB (added by scribu, 5 years ago)
  • wp-includes/query.php

     
    22572257                // Apply post-paging filters on where and join.  Only plugins that 
    22582258                // manipulate paging queries should use these hooks. 
    22592259                if ( !$q['suppress_filters'] ) { 
     2260                        $distinct       = apply_filters_ref_array( 'posts_distinct',    array( $distinct, &$this ) ); 
     2261                        $fields         = apply_filters_ref_array( 'posts_fields',              array( $fields, &$this ) ); 
    22602262                        $where          = apply_filters_ref_array( 'posts_where_paged', array( $where, &$this ) ); 
     2263                        $join           = apply_filters_ref_array( 'posts_join_paged',  array( $join, &$this ) ); 
    22612264                        $groupby        = apply_filters_ref_array( 'posts_groupby',             array( $groupby, &$this ) ); 
    2262                         $join           = apply_filters_ref_array( 'posts_join_paged',  array( $join, &$this ) ); 
    22632265                        $orderby        = apply_filters_ref_array( 'posts_orderby',             array( $orderby, &$this ) ); 
    2264                         $distinct       = apply_filters_ref_array( 'posts_distinct',    array( $distinct, &$this ) ); 
    2265                         $limits         = apply_filters_ref_array( 'post_limits',               array( $limits, &$this ) ); 
    2266                         $fields         = apply_filters_ref_array( 'posts_fields',              array( $fields, &$this ) ); 
     2266                        $limits         = apply_filters_ref_array( 'post_limits',               array( $limits, &$this ) );      
     2267 
     2268                        // Also apply a filter on all clauses at once, for convenience 
     2269                        $clauses = array(); 
     2270                        foreach ( array('distinct', 'fields', 'where', 'join', 'groupby', 'orderby', 'limits') as $var ) { 
     2271                                $clauses[ $var ] = $$var; 
     2272                                unset( $$var ); // so we can use EXTR_SKIP below 
     2273                        } 
     2274 
     2275                        $clauses = apply_filters_ref_array( 'wp_query_clauses', array( $clauses, &$this ) ); 
     2276 
     2277                        extract( $clauses, EXTR_SKIP ); 
     2278                        unset( $clauses ); 
    22672279                } 
    22682280 
    22692281                // Announce current selection parameters.  For use by caching plugins. 
     
    22712283 
    22722284                // Filter again for the benefit of caching plugins.  Regular plugins should use the hooks above. 
    22732285                if ( !$q['suppress_filters'] ) { 
     2286                        $distinct       = apply_filters_ref_array( 'posts_distinct_request',array( $distinct, &$this ) ); 
     2287                        $fields         = apply_filters_ref_array( 'posts_fields_request',      array( $fields, &$this ) ); 
    22742288                        $where          = apply_filters_ref_array( 'posts_where_request',       array( $where, &$this ) ); 
    2275                         $groupby        = apply_filters_ref_array( 'posts_groupby_request',             array( $groupby, &$this ) ); 
    22762289                        $join           = apply_filters_ref_array( 'posts_join_request',        array( $join, &$this ) ); 
    2277                         $orderby        = apply_filters_ref_array( 'posts_orderby_request',             array( $orderby, &$this ) ); 
    2278                         $distinct       = apply_filters_ref_array( 'posts_distinct_request',    array( $distinct, &$this ) ); 
    2279                         $fields         = apply_filters_ref_array( 'posts_fields_request',              array( $fields, &$this ) ); 
    2280                         $limits         = apply_filters_ref_array( 'post_limits_request',               array( $limits, &$this ) ); 
     2290                        $groupby        = apply_filters_ref_array( 'posts_groupby_request',     array( $groupby, &$this ) ); 
     2291                        $orderby        = apply_filters_ref_array( 'posts_orderby_request',     array( $orderby, &$this ) ); 
     2292                        $limits         = apply_filters_ref_array( 'post_limits_request',       array( $limits, &$this ) ); 
    22812293                } 
    22822294 
    22832295                if ( ! empty($groupby) )