У меня есть страница (не запись в блоге), на которую мне нужно встроить iframe (это для «интеграции» каталога продуктов внешней службы). Я добавил код iframe в редакторе необработанного HTML и сохранил страницу. Просмотрел страницу, все работает.
Я вернулся в редактор и переключился с необработанного HTML на вкладку Визуальный редактор, добавил строку текста, а затем вспомнил, что мне нужно добавить атрибут в код iframe. Поэтому я снова переключился на вкладку необработанного HTML.
Когда я это сделал, пост был совершенно пуст. Все, что я ввел в редакторе в необработанном HTML или нет, было удалено, и сообщение пусто, как будто я только что создал его заново. Мне пришлось откатиться до ревизии, чтобы восстановить его.
До сих пор решение состояло в том, чтобы отключить визуальный редактор, но у меня есть нетехнический партнер, и это не идеальное долгосрочное решение.
Есть ли способ контролировать это поведение WordPress? Я использую WordPress 3.1.1
Спасибо
Вместо этого использовать шаблон страницы? Избегает всей проблемы с удалением iframe редактором.
Это относится не только к страницам — то же самое может произойти и с публикацией. Я удалил
page
тег и добавилhtml
тег.Да, я понимаю это, моя точка зрения заключалась в том, что этот пользователь хочет специально отобразить iframe на странице, и использование именованного шаблона страницы полностью избежит проблемы.
Это мой предпочтительный тип решения. Вы должны упаковать это как плагин и загрузить его в каталог расширений;) Кажется, работает довольно хорошо (я добавил его в functions.php вместо создания плагина). Спасибо!
Это был мой второй вариант — я не стал использовать его исключительно потому, что не хотел использовать короткие коды. Хочет ли кто-нибудь, кроме меня, чтобы TinyMCE/WordPress просто взял введенный вами HTML-код и оставил его в покое ?
@red4d — мой плагин будет делать именно то, что вы хотите, чтобы WordPress делал. Я хотел такого же поведения, как и вы, и обнаружил, что это возможно с большой кропотливой работой в WP Core — wordpress.org/extend/plugins/preserved-html-editor-markup
У меня был этот код в пользовательском локальном плагине некоторое время. Или вы можете просто вставить его в свою тему
functions.php
:Это говорит TinyMCE (визуальному редактору) разрешить
iframe
тег и все его атрибуты.Редактор WordPress плохо обрабатывает iFrames или расширенный HTML при переключении между HTML и визуальным редактором (я сталкивался с этой проблемой много раз).
Лучше всего либо добавить шаблон страницы (page-{id}.php) с iframe, либо использовать плагин, который добавляет шорткоды iFrame, как показано ниже:
http://wordpress.org/extend/plugins/easy-iframe-loader/
Это было бы особенно полезно в среде, где посты редактируют люди, не являющиеся техническими специалистами.