wp_editor добавляет HTML-сущности в контент
Я создаю страницу настроек темы и хочу использовать TinyMCE редактор WordPress, поэтому вызываю wp_editor
. Но при сохранении данных в контент добавляются некоторые сущности. Например, если я хочу добавить изображение:
<img class="" title="" src="path_to_image" alt="" />
После сохранения получаю:
<img title="\"\"" src="\"path_to_image\"" alt="\"\"" />
Почему кавычки преобразуются в сущности (при этом оставляя реальные - правильно отображаемые кавычки)???
@edit: Вот как я вывожу редактор:
$class = (isset($value['class'])) ? $value['class']:'';
$content = (get_option($value['id']) ? get_option($value['id']) : '');
$settings = array(
'textarea_name' => $value['id'],
'editor_class' => $class
);
wp_editor($content, strtolower($value['id']), $settings );
А вот как я сохраняю данные для этого поля:
update_option($value['id'],
$_POST[ $value['id'] ]);
WordPress применяет функцию addslashes
к данным из POST
. Значение, которое вы получаете из базы данных, вероятно, выглядит так:
<img title=\"\" …
… и редактор пытается привести это к валидной разметке.
Поэтому … вызывайте редактор с …
wp_editor( stripslashes( $content ), strtolower($value['id']), $settings );
