Проблема с редиректом wordpress и передаваемыми get данными
-
Чпу включено (/%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; }
Происходит бесконечный редирект.
Где собака зарыта?
- Тема «Проблема с редиректом wordpress и передаваемыми get данными» закрыта для новых ответов.