• Чпу включено (/%category%/%year%%monthnum%%day%%post_id%)
    Имеется расширенный поиск связанный с плагином wp_paginate — 1: /events/?name=Data&market=Data 2: /events/page/2/?name=Data&market=Data.

    Проблема:
    При передаче данных с пробелами, на первой странице ссылка имеет вид -(/events/?name=Data+Data+Data), а при переходе на вторую страницу она ломается (/events/?name=DataDataData) т.е. пробелы (+) пропадают.

    Функция которая отвечает за чистку url (/wp_include/pluggable.php wp_sanitize_redirect()) оно и понятно поскольку ссылка которая попадает ей на обработку воспринимает + как \s но если делать так:

    function wp_sanitize_redirect($location) {
    	$location = preg_replace('/\s/', '+', $location);
    	$location = preg_replace('|[^a-z0-9-~+_.?#=&;,/:%!]|i', '', $location);
    
    	$location = wp_kses_no_null($location);
    
    	//remove %0d and %0a from location
    	$strip = array('%0d', '%0a', '%0D', '%0A');
    	$location = _deep_replace($strip, $location);
    	return $location;
    }

    Происходит бесконечный редирект.

    Где собака зарыта?

Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Проблема с редиректом wordpress и передаваемыми get данными» закрыта для новых ответов.