wp_editor añade entidades HTML al contenido
Estoy construyendo mi página de opciones del tema y quiero usar el editor TinyMCE de WordPress aquí, así que estoy llamando a wp_editor
. Pero cuando guardo los datos, se añaden algunas entidades al contenido. Por ejemplo, si quiero añadir una imagen:
<img class="" title="" src="path_to_image" alt="" />
Esto es lo que obtengo después de hacer clic en guardar:
<img title="\"\"" src="\"path_to_image\"" alt="\"\"" />
¿Por qué está cambiando las comillas a entidades (y deja las comillas reales - mostradas correctamente?)??
@edit: Así es como muestro mi editor:
$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 );
Y así es como guardo los datos para este campo:
update_option($value['id'],
$_POST[ $value['id'] ]);
WordPress está aplicando addslashes
a la entrada POST
. El valor que obtienes de la base de datos probablemente se ve así:
<img title=\"\" …
… y el editor intenta imponer un marcado válido a partir de eso.
Entonces … llama al editor con …
wp_editor( stripslashes( $content ), strtolower($value['id']), $settings );
