wp_editor adaugă entități HTML în conținut
Construiesc pagina de opțiuni pentru tema mea și vreau să folosesc editorul TinyMCE din WordPress, așa că apelez la wp_editor
. Dar când salvez datele, unele entități sunt adăugate în conținut. De exemplu, dacă vreau să adaug o imagine:
<img class="" title="" src="path_to_image" alt="" />
Iată ce am obținut după salvare:
<img title="\"\"" src="\"path_to_image\"" alt="\"\"" />
De ce se transformă ghilimelele în entități (și lasă ghilimelele reale - afișate corect?)??
@edit: Așa afișez editorul meu:
$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 );
Și așa salvez datele pentru acest câmp:
update_option($value['id'],
$_POST[ $value['id'] ]);
WordPress rulează funcția addslashes
pe datele introduse prin POST
. Valoarea pe care o obții din baza de date arată probabil astfel:
<img title=\"\" …
… iar editorul încearcă să impună un markup valid din acea valoare.
Deci … apelează editorul cu …
wp_editor( stripslashes( $content ), strtolower($value['id']), $settings );
