WordPress.org

Make WordPress Core

Ticket #21779: 21779.patch

File 21779.patch, 1.7 KB (added by SergeyBiryukov, 3 years ago)
  • wp-includes/query.php

     
    17321732                if ( !empty($q['cat']) && '0' != $q['cat'] && !$this->is_singular && $this->query_vars_changed ) { 
    17331733                        $q['cat'] = ''.urldecode($q['cat']).''; 
    17341734                        $q['cat'] = addslashes_gpc($q['cat']); 
    1735                         $cat_array = preg_split('/[,\s]+/', $q['cat']); 
     1735                        $cat_array = preg_split('/[,\r\n\t ]+/', $q['cat']); 
    17361736                        $q['cat'] = ''; 
    17371737                        $req_cats = array(); 
    17381738                        foreach ( (array) $cat_array as $cat ) { 
     
    17851785                // Tag stuff 
    17861786                if ( '' != $q['tag'] && !$this->is_singular && $this->query_vars_changed ) { 
    17871787                        if ( strpos($q['tag'], ',') !== false ) { 
    1788                                 $tags = preg_split('/[,\s]+/', $q['tag']); 
     1788                                $tags = preg_split('/[,\r\n\t ]+/', $q['tag']); 
    17891789                                foreach ( (array) $tags as $tag ) { 
    17901790                                        $tag = sanitize_term_field('slug', $tag, 0, 'post_tag', 'db'); 
    17911791                                        $q['tag_slug__in'][] = $tag; 
    17921792                                } 
    1793                         } else if ( preg_match('/[+\s]+/', $q['tag']) || !empty($q['cat']) ) { 
    1794                                 $tags = preg_split('/[+\s]+/', $q['tag']); 
     1793                        } else if ( preg_match('/[+\r\n\t ]+/', $q['tag']) || !empty($q['cat']) ) { 
     1794                                $tags = preg_split('/[+\r\n\t ]+/', $q['tag']); 
    17951795                                foreach ( (array) $tags as $tag ) { 
    17961796                                        $tag = sanitize_term_field('slug', $tag, 0, 'post_tag', 'db'); 
    17971797                                        $q['tag_slug__and'][] = $tag; 
     
    22852285                                $eq = '='; 
    22862286                                $andor = 'OR'; 
    22872287                        } 
    2288                         $author_array = preg_split('/[,\s]+/', $q['author']); 
     2288                        $author_array = preg_split('/[,\r\n\t ]+/', $q['author']); 
    22892289                        $_author_array = array(); 
    22902290                        foreach ( $author_array as $key => $_author ) 
    22912291                                $_author_array[] = "$wpdb->posts.post_author " . $eq . ' ' . absint($_author);