WordPress.org

Make WordPress Core

Ticket #9383: pages-exclude-by-slug.diff

File pages-exclude-by-slug.diff, 778 bytes (added by richcon, 4 years ago)

Patch to post.php (get_pages) to allow excluding by slug

  • wp-includes/post.php

     
    21852185                $expages = preg_split('/[\s,]+/',$exclude); 
    21862186                if ( count($expages) ) { 
    21872187                        foreach ( $expages as $expage ) { 
     2188                                $exfield = is_numeric($expage) ? 'ID' : 'post_name'; 
    21882189                                if (empty($exclusions)) 
    2189                                         $exclusions = $wpdb->prepare(' AND ( ID <> %d ', $expage); 
    2190                                 else 
    2191                                         $exclusions .= $wpdb->prepare(' AND ID <> %d ', $expage); 
    2192                         } 
    2193                 } 
    2194         } 
     2190                                        $exclusions = $wpdb->prepare(" AND ( $exfield <> %s ", $expage); 
     2191                                else 
     2192                                        $exclusions .= $wpdb->prepare(" AND $exfield <> %s ", $expage); 
     2193                        } 
     2194                } 
     2195        } 
    21952196        if (!empty($exclusions)) 
    21962197                $exclusions .= ')'; 
    21972198