Intereting Posts
Single.php для пользовательского типа сообщений> Таксономия> Срок Как просмотреть результат короткого кода в редакторе TinyMCE? Как изменить запрос sql для wp_get_archive () wp_login_form () перенаправить не перенаправлять пользователей <admin Обновление Meta пользователя с помощью SQL Query Пользовательский фоновый / заголовок node-wpapi: как обрабатывать аутентификацию? Получение «Невозможно изменить информацию заголовка – уже отправленные заголовки», но только на бэкэнд функция shortcode выводит несколько тегов привязки Автоматически добавлять ссылки страницы в меню Nav Функция Thickbox 'tb_unload' вызывается дважды Как показать другой пользовательский тип сообщения, отличный от текущего типа сообщения, в файле single.php Сортировка продуктов по цене (обычная + цена продажи) Загрузка Force CSV с помощью template_redirect Как скрыть заголовок на «основных моментах» – функция Themify

Почему несколько текстовых прерываний перестали работать в текстовом редакторе?

# Adds ability to add break tags on posts remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' ); add_filter( 'the_content', 'nl2br' ); add_filter( 'the_excerpt', 'nl2br' ); 

У нас в нашем пользовательском плагине был код выше, и он заставил работать тег break.

Ну, это все еще работает. За исключением нескольких разрывов строк не работает. Мы можем поместить 50 разрывающих меток подряд, и текст просто перейдет к следующей строке. Проблема в том, что нам нужно скопировать / вставить много прямых html, и интервалы выполняются с помощью меток разрыва.

Итак, почему это перестало работать при переходе с 4.4.latest на 4.5.latest? И что еще более важно, что я могу сделать, чтобы получить tinymce, чтобы просто прочитать, что там! ?? Также я попытался использовать виджет Advanced TinyMCE и показать абзац / перерывы … Это работает снова, но не для нескольких. (да, я понимаю, что люди могут иметь неразрывное пространство между ними, чтобы показать линию – это потребует много работы с нашей стороны и действительно гетто)

Из комментариев проблемы, похоже, связаны с некоторыми нарушениями плагинов.

Когда вы вызываете код для удаления и добавления новых фильтров? Вы можете попробовать называть их более высоким приоритетом (если вы вызываете их из другого крючка).

Скорее всего, это связано с тем, что другой плагин или тема делают свою собственную замену на the_content … независимо от того, следует ли вызывать сам wpautop или удалить фильтр nl2br .

Если он удаляет фильтр для nl2br вы можете просто вызвать свою собственную функцию:

 add_filter( 'the_content', 'myown_nl2br' ); add_filter( 'the_excerpt', 'myown_nl2br' ); function myown_nl2br($string) { $string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string); return $string; } 

Ссылка на Linebreak:

  • windows = \ r \ n
  • unix = \ n
  • osx / mac = \ r

Вы также можете просто вызвать вызов nl2br() в функции выше, но с str_replace дает вам представление о том, как это работает, и технически nl2br() только вставляет <br/> перед разрывом строки, на самом деле удалите сам разрыв строки.


Отслеживание виновника:

Сделайте полный поиск по всему каталогу wp-content для the_content и найдите любые совпадения, в которых фильтр удален, добавлен и т. Д. Также ищите nl2br и wpautop , которые должны помочь отслеживать виновника.

Если по какой-либо причине подключенный плагин или тема имеет обратный вызов к методу объекта класса, стандартный remove_filter не будет работать, вот ответ на другой вопрос, где я опубликовал код для удаления фильтра, когда у вас нет доступа к классу объект:

https://wordpress.stackexchange.com/a/239431/51201