Недавно столкнулся с такой проблемой.

При опубликовании ссылок, отличных от веб (гиперссылок), например ссылок на файлы в среде Windows, WordPress по одной, только ему ведомой логике, затирал обратные слэши (т.е. косую черту ) и пробелы рядом с ними.

В настоящее время обратные слеши служат для экранирования спец символов и отключение их использования в конкретном месте статьи, по всей видимости, вызывает некоторые затруднения, а возможно и не желание возиться со столь небольшой проблемой.

Так или иначе, поиск функций, влияющих на их обработку занял продолжительнее время.

Суть решения проблемы: Необходимо найти файл formatting.php, который расположен в каталоге: wp-includes.

В этом файле необходимо найти функцию: function stripslashes_deep и изменить ее следующим образом (в скриншоте ниже):

WordPress function stripslashes_deep

P.S. как оказалось, это решение далеко не самое удачное. Теперь обратные слеши не только не убираются, но при повторном редактировании статьи, они еще и дублируются.

Альтернативной может служить временная блокировка другой функции в том же файле formatting.php, функции  function wp_unslash Скриншот ниже.

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
Теги:
Загрузка Все права защищены © 2016 ИТ-Инженер (Краснодар)
 
把手拿回