WordPress.org

Make WordPress Core

Ticket #21779: 21779.patch

File 21779.patch, 1.7 KB (added by SergeyBiryukov, 6 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);