wp_editor adds HTML entities to the content

I’m building my theme options page and I want to use WordPress TinyMCE editor here, so I’m calling wp_editor. But when I’m saving data some entities are added to the content for example, lets say I want to add image:

<img class="" title="" src="path_to_image" alt="" />

Read More

Thats what I’ve got after clicking save:

<img title="&quot;&quot;" src="&quot;path_to_image&quot;" alt="&quot;&quot;" />

Why is this changing quotes into entities (and leaves actual – correctly displayed quotes?)??

@edit:
This is how I display my 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 );

And that’s how I save data for this field:

update_option($value['id'],
$_POST[ $value['id'] ]);

Related posts

Leave a Reply

3 comments

  1. WordPress is running addslashes on POST input. The value you get from the data base looks probably like:

    <img title="" …
    

    … and the editor tries to enforce valid markup from that.

    So … call the editor with …

    wp_editor( stripslashes( $content ), strtolower($value['id']), $settings );
    
  2. I too had same problem.
    Then I used :

    <? wp_editor(html_entity_decode(stripcslashes(get_option('wid1_cont'))), "editor1",$settings = array('textarea_name'=>'wid1_cont','textarea_rows'=>'5') ); ?>

    It worked..

  3. sometimes, the problem not is in save: is just on view stage.

    Try:

     wp_editor( html_entity_decode($content), strtolower($value['id']), $settings );