WordPress.org

Make WordPress Core

Changeset 14133


Ignore:
Timestamp:
04/18/10 04:54:19 (4 years ago)
Author:
nacin
Message:

Allow include/exclude args to be arrays in get_posts() and get_pages(). Utilizes wp_parse_id_list(). props scribu, fixes #11076.

File:
1 edited

Legend:

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

    r14122 r14133  
    995995        'numberposts' => 5, 'offset' => 0, 
    996996        'category' => 0, 'orderby' => 'post_date', 
    997         'order' => 'DESC', 'include' => '', 
    998         'exclude' => '', 'meta_key' => '', 
     997        'order' => 'DESC', 'include' => array(), 
     998        'exclude' => array(), 'meta_key' => '', 
    999999        'meta_value' =>'', 'post_type' => 'post', 
    10001000        'suppress_filters' => true 
     
    10091009        $r['cat'] = $r['category']; 
    10101010    if ( ! empty($r['include']) ) { 
    1011         $incposts = preg_split('/[\s,]+/', $r['include']); 
     1011        $incposts = wp_parse_id_list( $r['include'] ); 
    10121012        $r['posts_per_page'] = count($incposts);  // only the number of posts included 
    10131013        $r['post__in'] = $incposts; 
    10141014    } elseif ( ! empty($r['exclude']) ) 
    1015         $r['post__not_in'] = preg_split('/[\s,]+/',$r['exclude']); 
     1015        $r['post__not_in'] = wp_parse_id_list( $r['exclude'] ); 
    10161016 
    10171017    $r['caller_get_posts'] = true; 
     
    29352935        'child_of' => 0, 'sort_order' => 'ASC', 
    29362936        'sort_column' => 'post_title', 'hierarchical' => 1, 
    2937         'exclude' => '', 'include' => '', 
     2937        'exclude' => array(), 'include' => array(), 
    29382938        'meta_key' => '', 'meta_value' => '', 
    29392939        'authors' => '', 'parent' => -1, 'exclude_tree' => '', 
     
    29762976        $meta_value = ''; 
    29772977        $hierarchical = false; 
    2978         $incpages = preg_split('/[\s,]+/',$include); 
    2979         if ( count($incpages) ) { 
     2978        $incpages = wp_parse_id_list( $include ); 
     2979        if ( ! empty( $incpages ) ) { 
    29802980            foreach ( $incpages as $incpage ) { 
    29812981                if (empty($inclusions)) 
     
    29912991    $exclusions = ''; 
    29922992    if ( !empty($exclude) ) { 
    2993         $expages = preg_split('/[\s,]+/',$exclude); 
    2994         if ( count($expages) ) { 
     2993        $expages = wp_parse_id_list( $exclude ); 
     2994        if ( ! empty( $expages ) ) { 
    29952995            foreach ( $expages as $expage ) { 
    29962996                if (empty($exclusions)) 
     
    30083008        $post_authors = preg_split('/[\s,]+/',$authors); 
    30093009 
    3010         if ( count($post_authors) ) { 
     3010        if ( ! empty( $post_authors ) ) { 
    30113011            foreach ( $post_authors as $post_author ) { 
    30123012                //Do we have an author id or an author login? 
Note: See TracChangeset for help on using the changeset viewer.