WordPress.org

Make WordPress Core

Ticket #14997: wp_query_clauses.diff

File wp_query_clauses.diff, 3.1 KB (added by scribu, 8 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) )