WordPress.org

Make WordPress Core

Changeset 18047


Ignore:
Timestamp:
05/25/11 20:00:56 (6 years ago)
Author:
ryan
Message:

Allow WP_Query 'post_status' parameter to accept an array, as well as a singular value and comma separated list. Fixes #16824

Location:
branches/3.1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/3.1

  • branches/3.1/wp-includes/query.php

    r17805 r18047  
    16261626        } 
    16271627 
    1628         if ( !empty($qv['post_status']) ) 
    1629             $qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']); 
     1628        if ( ! empty( $qv['post_status'] ) ) { 
     1629            if ( is_array( $qv['post_status'] ) ) 
     1630                $qv['post_status'] = array_map('sanitize_key', $qv['post_status']); 
     1631            else 
     1632                $qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']); 
     1633        } 
    16301634 
    16311635        if ( $this->is_posts_page && ( ! isset($qv['withcomments']) || ! $qv['withcomments'] ) ) 
     
    23862390        } 
    23872391 
    2388         if ( isset($q['post_status']) && '' != $q['post_status'] ) { 
     2392        if ( ! empty( $q['post_status'] ) ) { 
    23892393            $statuswheres = array(); 
    2390             $q_status = explode(',', $q['post_status']); 
     2394            $q_status = $q['post_status']; 
     2395            if ( ! is_array( $q_status ) ) 
     2396                $q_status = explode(',', $q_status); 
    23912397            $r_status = array(); 
    23922398            $p_status = array(); 
    23932399            $e_status = array(); 
    2394             if ( $q['post_status'] == 'any' ) { 
     2400            if ( in_array('any', $q_status) ) { 
    23952401                foreach ( get_post_stati( array('exclude_from_search' => true) ) as $status ) 
    23962402                    $e_status[] = "$wpdb->posts.post_status <> '$status'"; 
Note: See TracChangeset for help on using the changeset viewer.