Make WordPress Core

Ticket #9153: 9153.patch

File 9153.patch, 1.2 KB (added by hakre, 15 years ago)

Low-Cost solution with not a single DB Call.

  • wp-includes/post.php

    ### Eclipse Workspace Patch 1.0
    #P wordpress
     
    22622262        $query .= $author_query;
    22632263        $query .= " ORDER BY " . $sort_column . " " . $sort_order ;
    22642264
    2265         $pages = $wpdb->get_results($query);
     2265        $pages = $wpdb->geresults($query);
    22662266
    22672267        if ( empty($pages) ) {
    22682268                $pages = apply_filters('get_pages', array(), $r);
     
    22762276                $pages = & get_page_children($child_of, $pages);
    22772277
    22782278        if ( !empty($exclude_tree) ) {
    2279                 $exclude = array();
    2280 
    2281                 $exclude = (int) $exclude_tree;
    2282                 $children = get_page_children($exclude, $pages);
    2283                 $excludes = array();
    2284                 foreach ( $children as $child )
    2285                         $excludes[] = $child->ID;
    2286                 $excludes[] = $exclude;
     2279                $excludes = array_map('intval', explode(',', $exclude_tree));
     2280               
     2281                // exclude tree will work as describben - self and direct childs only (!)               
    22872282                $total = count($pages);
    22882283                for ( $i = 0; $i < $total; $i++ ) {
    2289                         if ( in_array($pages[$i]->ID, $excludes) )
     2284                        if ( in_array($pages[$i]->ID, $excludes)
     2285                             || in_array($pages[$i]->post_parent, $excludes))                       
    22902286                                unset($pages[$i]);
    22912287                }
    22922288        }