Как остановить wp-editor(), чтобы он не перезаписывал мой HTML?

Вопрос или проблема

У меня старая проблема: редактор WordPress перезаписывает мой HTML-код. Например, редактор вставляет теги <p> и <br> там, где я их не устанавливал.

Вторая проблема заключается в том, что редактор не показывает истинный исходный код. Если я пишу какой-то код в редакторе, обновляю страницу и потом смотрю исходный код на фронт-энде (например, в Firefox), там есть теги, которые я не вижу в редакторе на заднем плане.

Чтобы решить эту проблему, я установил редактор TinyMCE A, но он не всегда работает. Почему мне нужен сторонний редактор, чтобы это изменить? Разве у WordPress нет собственного решения для этой маленькой проблемы?

Мне бы хотелось, чтобы в WordPress была возможность включать или выключать редактор, чтобы пользователь мог делать выбор. Какое-то решение может быть дополнением в functions.php, где можно добавлять шорткоды; я думаю, это трудоемко, но может ли это быть настоящим решением?

Если вы всегда пишете на HTML, вы можете добавить следующее в свой файл functions.php:

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

Я делаю это для некоторых своих сайтов.

Поскольку, похоже, вы хотите иметь возможность включать и выключать это, возможно, вам стоит попробовать плагин wpautop control.

Это позволит вам отключить его для ваших постов, оставив включенным для других пользователей.

Ответ или решение

Чтобы остановить функцию wp-editor() от перезаписи вашего HTML-кода в WordPress, вам нужно учесть несколько моментов. Проблема, с которой вы сталкиваетесь, связана с тем, что стандартный визуальный редактор WordPress (TinyMCE) автоматически добавляет теги <p> и <br> в ваш код, а также скрывает некоторые другие HTML-теги. Это может вызывать трудности, особенно если вам нужно сохранить особую разметку.

Вот несколько решений для решения этой проблемы:

1. Отключение автоматического форматирования

Вы можете отключить автоматическое добавление тегов <p> и <br> с помощью функций, добавленных в файл functions.php вашей темы. Вставьте следующий код:

remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');

Этот код уберет фильтры, которые добавляют авторазметку к контенту и описаниям. Однако учтите, что это будет глобальное решение, и оно повлияет на все посты вашего сайта.

2. Плагин для управления wpautop

Если вы хотите иметь возможность включать или отключать автоматическое форматирование для отдельных записей, рассмотрите возможность использования плагина WP Autop Control. Этот плагин позволит вам управлять функцией wpautop на уровне отдельных постов, что даст вам гибкость в управлении форматированием контента.

3. Использование текстового редактора

Если ваша работа в основном сосредоточена на использовании HTML, вы можете переключиться на текстовый редактор в WordPress, который не будет добавлять автоматически какие-либо теги. Для этого просто выберите вкладку "Текст" вместо "Визуальный" при редактировании поста. Это позволит вам вносить изменения в HTML-код без автоматических правок.

4. Дополнительные советы

  • Убедитесь, что используете последнюю версию WordPress, так как обновления могут содержать исправления для известных проблем.
  • Если вам необходимо использовать короткие коды, вы можете создавать собственные решения в functions.php, чтобы обеспечить поддержку нужных вам форматов.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...