wp_editor aggiunge entità HTML al contenuto
Sto costruendo la pagina delle opzioni del mio tema e voglio usare l'editor TinyMCE di WordPress, quindi sto chiamando wp_editor
. Ma quando salvo i dati, alcune entità vengono aggiunte al contenuto. Ad esempio, se voglio aggiungere un'immagine:
<img class="" title="" src="path_to_image" alt="" />
Ecco cosa ottengo dopo aver cliccato su salva:
<img title="\"\"" src="\"path_to_image\"" alt="\"\"" />
Perché sta trasformando le virgolette in entità (e lascia le virgolette reali - visualizzate correttamente?)??
@modifica: Ecco come visualizzo il mio 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 );
Ed ecco come salvo i dati per questo campo:
update_option($value['id'],
$_POST[ $value['id'] ]);
WordPress applica addslashes
agli input POST
. Il valore che ottieni dal database probabilmente appare così:
<img title=\"\" …
… e l'editor tenta di imporre un markup valido da quello.
Quindi… chiama l'editor con…
wp_editor( stripslashes( $content ), strtolower($value['id']), $settings );
