- Статус
- Решено
- Решено в
- 3.3.8
Обзор проблемы
Когда Вы открываете запись или страницу, которая содержит символы, отличные от ASCII, в слаге и, соответственно, в URL-адресе, происходит постоянное перенаправление.
Это происходит из-за особенностей обработки таких символов — их необходимо правильно преобразовать и экранировать, чтобы использовать в качестве URL-адреса.
Для этого используются функции urlencode и urldecode.
Вы можете прочитать подробнее на эту тему по двум следующим ссылкам:
- Зачем нужно использовать urlencode? (Stack Overflow)
- Унифицированные идентификаторы ресурсов (URI) (Internet Engineering Task Force)
Обходное решение
- Откройте файл wp-content/sitepress-multilingual-cms/classes/query-filtering/class-wpml-query-parser.php на строке 421.
- В функции is_permalink_part_of_request() замените
return substr( trailingslashit( $request_uri ), 0, strlen( $permalink_path ) ) === $permalink_path;
на следующее:
return substr( trailingslashit( urldecode( $request_uri ) ), 0, strlen( $permalink_path ) ) === $permalink_path;