Вопрос или проблема
Привет, я хочу отключить автоматическое форматирование ширины и высоты таблиц/td/tr в WordPress TinyMCE.
Я создаю таблицу, буквально ввожу данные (не копируя их из Word или что-то подобное), и она добавляет ширину и высоту к ячейкам таблицы. Затем я копирую код в текстовый редактор, удаляю ширину и высоту, а затем вставляю его обратно, и он снова добавляет ширину и высоту.
Это вызывает у меня головную боль. Таблица адаптивная, использует классы Bootstrap, поэтому нет необходимости в ширине и высоте.
Если мне нужны ширина и высота, я сам их туда добавлю.
Как это отключить??
Общее предложение, похоже, состоит в том, чтобы понизить TinyMCE Advanced до версии 4.6.7. Я только что сделал это сам, и это решило проблему.
Мне пришлось вручную очистить HTML затронутых таблиц.
Есть тема на странице поддержки плагина с другими предложениями.
Ответ или решение
Отключение автоматического форматирования таблиц в TinyMCE для WordPress
Если вы столкнулись с проблемой автоматического добавления атрибутов ширины и высоты к элементам таблицы в редакторе TinyMCE в WordPress, не волнуйтесь – вы не одни. Многие пользователи испытывают аналогичные трудности, когда система автоматически добавляет стили, которые могут конфликтовать с их требованиями к адаптивному дизайну.
Причины проблемы
TinyMCE, встроенный в WordPress, склонен добавлять атрибуты (включая ширину и высоту) к таблицам, даже если вы вручную не вводите их. Это может быть особенно проблематично, когда вы используете классы Bootstrap для создания адаптивных таблиц, а автоматические стили нарушают желаемое отображение.
Решения проблемы
-
Есть ли возможность отключить автоматическое добавление стилей?
К сожалению, в стандартной версии TinyMCE такой функции нет. Однако вы можете воспользоваться следующими методами, чтобы обойти данную проблему. -
Использование плагина TinyMCE Advanced
Один из наиболее распространенных способов решения данной проблемы – установить плагин TinyMCE Advanced. Вот как это сделать:- Установите и активируйте плагин через панель управления WordPress.
- Перейдите в настройки TinyMCE Advanced.
- Найдите параметры, касающиеся форматирования таблиц, и отключите их. Некоторые версии могут позволить вам отключить автоматическое добавление атрибутов таблиц.
-
Доустановка более ранней версии TinyMCE Advanced
Как вы уже упомянули, одна из рекомендаций – сделать откат до версии 4.6.7 плагина TinyMCE Advanced, которая, по отзывам пользователей, не добавляет лишних атрибутов. Вот как это сделать:- Перейдите на страницу плагина в репозитории WordPress.
- Найдите ссылку на предыдущие версии и скачайте 4.6.7.
- Деактивируйте текущую версию плагина и установите скачанную.
-
Ручная очистка HTML
Если вы уже создали таблицы с нежелательными атрибутами, их придется очищать вручную. Вы можете сделать это следующим образом:- Скопируйте HTML-код таблицы в текстовый редактор (например, Notepad).
- Удалите все атрибуты ширины и высоты из кода
<table>
,<tr>
, и<td>
. - Вставьте очищенный код обратно в редактор WordPress.
-
Использование пользовательских JavaScript и CSS
В качестве последнего средства, можно использовать JavaScript для удаления атрибутов после их добавления. Вот простой пример, который можно добавить в ваш файл темы или в плагин:document.addEventListener("DOMContentLoaded", function() { const tables = document.querySelectorAll('table'); tables.forEach(table => { table.removeAttribute('width'); table.removeAttribute('height'); table.querySelectorAll('td, th').forEach(cell => { cell.removeAttribute('width'); cell.removeAttribute('height'); }); }); });
Заключение
Автоматическое добавление атрибутов ширины и высоты в таблицы TinyMCE может быть значительно проблематичным, особенно при использовании адаптивного дизайна. Хотя отключить эту функцию полностью с помощью стандартных настроек невозможно, все приведенные выше методы могут помочь вам обойти эту проблему. Лучше всего начать с настройки плагина TinyMCE Advanced или отката до более ранней версии, а затем использовать очистку HTML-кода для устранения конфликта. Удачи в редактировании ваших таблиц!