|

Недавно столкнулся с такой проблемой.
При опубликовании ссылок, отличных от веб (гиперссылок), например ссылок на файлы в среде Windows, WordPress по одной, только ему ведомой логике, затирал обратные слэши (т.е. косую черту ) и пробелы рядом с ними.
В настоящее время обратные слеши служат для экранирования спец символов и отключение их использования в конкретном месте статьи, по всей видимости, вызывает некоторые затруднения, а возможно и не желание возиться со столь небольшой проблемой.
Так или иначе, поиск функций, влияющих на их обработку занял продолжительнее время.
Суть решения проблемы: Необходимо найти файл formatting.php, который расположен в каталоге: wp-includes.
В этом файле необходимо найти функцию: function stripslashes_deep и изменить ее следующим образом (в скриншоте ниже):
P.S. как оказалось, это решение далеко не самое удачное. Теперь обратные слеши не только не убираются, но при повторном редактировании статьи, они еще и дублируются.
Альтернативной может служить временная блокировка другой функции в том же файле formatting.php, функции function wp_unslash Скриншот ниже.
Здесь последствия для публикации статей и самой системы WordPress менее катастрофичные, однако оставлять в таком виде надолго, функцию не следует с точки зрения угрозы безопасности WordPress .
P.S. Если хотите, чтобы обратный слеш сохранялся без внесения изменений в ядро WordPress, то перед каждой публикацией, заменяйте одиночный слеш , двойным.
P.P.S. Проблема сохраняется в каждом релизе WordPress 4.5.х и WordPress 4.6.х. Исправлять ошибку пока никто не собирается.
P.P.P.S. Так или иначе, если вы хотите вставить строку с указанием пути к файлу в среде Microsoft Windows, то знайте, что эта операционная система вполне замечательно переваривает как прямые, так и обратные слеши, так что в статье можно использовать прямые слеши, по аналогии с системой Linux
Вы также можете ознакомиться с другими статьями:

20th Ноя 2016
|
Теги:
|