Как я могу улучшить обработку разрыва строки в редакторе WYSIWYG?
Я всегда нахожусь в режиме HTML в редакторе, чтобы попытаться сделать так, чтобы простые вещи, такие как разрывы между абзацами, отображались правильно (используя <p></p>
). Это нормально? Есть ли лучший редактор, который я мог бы использовать?
6 answers
Происходит то, что TinyMCE преобразует каждый двойной разрыв строки в источнике HTML в <p></p>
и наоборот. Это фактически удалит все <p/>
, которые вы вручную вводите в исходный код HTML после сохранения, потому что при отображении содержимого сообщения будут добавлены <p>
и </p>
.
Автоматическая замена <p>
работает только при отображении содержимого сообщения с помощью <?php the_content() ?>
, если вы выводите $post->post_content
напрямую, оно не будет проходить через те же крючки форматирования и будет выглядеть простым и без разрывы строк или абзацы.
Если вам нужно много тегов <br/>
в отображаемой разметке, вам, вероятно, следует найти лучшее решение, основанное на CSS и использовании свойств margin
или padding
CSS.
Я согласен с некоторыми из приведенных выше сообщений в качестве прямых ответов на вопрос (который предполагает дальнейшее использование редактора WYSIWYG). Но после пробной версии я должен рекомендовать, по крайней мере, пересмотреть и переключиться на редактор HTML.
Предполагая, что ты все еще со мной (ты рассматриваешь это как вариант), есть еще кое-что. "Ах, - скажете вы, - редактор HTML все еще добавляет разрывы строк и вообще морочит мне голову!" Верно, именно поэтому вам нужно удалить фильтр auto-p. Для хорошей меры, так как я переключаюсь чтобы максимально очистить HTML, я достаю текстуризатор, который обрабатывает такие вещи, как фигурные кавычки.
Перейдите в редактор тем. Перейдите в раздел "Функции темы" (functions.php) файл. Добавьте следующее:
remove_filter ('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
Но я также добавляю это, если планирую использовать выдержки из сообщений/страниц:
remove_filter ('the_excerpt', 'wpautop');
remove_filter('the_excerpt', 'wptexturize');
Надеюсь, это поможет! И откровенно говоря... Я никогда не пробовал отключать фильтры вместе с визуальным редактором! Может быть, это действительно помогает и в этом отношении!
Я рекомендую TinyMCE Advanced также, я предпочитаю иметь больший контроль над HTML-кодом, который пользователь может редактировать на сайте. Есть опция Stop removing the P and BR tags when saving and show them in the HTML editor
, которая сделает свое дело, по умолчанию она не отмечена, поэтому после установки вам нужно зайти в настройки и включить ее. Еще одним преимуществом является возможность показывать/скрывать различные аспекты редактора, чтобы вы могли удалять кнопки, с которыми конечные пользователи могли бы потенциально поиграть, и пытаться быть "творческими" при форматировании контента!A многие нежелательные опции включены по умолчанию, поэтому вам нужно зайти и удалить ненужные опции.
Короче говоря: да. Это нормально.
Нет, лучших редакторов не существует.
Вы можете попробовать TinyMCE Advanced и посмотреть, поможет ли это.
Кроме того, если вы используете backticks (`) на этом сайте, он исчезнет из вашего html:
<br />
Я использую плагин Disable WPautop, который, как и ожидалось, отключает функцию wpautop. Это может быть полезно, в зависимости от вашей ситуации.
Причина, по которой у вас возникли проблемы, заключается в том, что WordPress предпочитает использовать
Теги, которые являются более семантическими, чем разрывы строк.