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="https://wordpress.stackexchange.com/questions/50674/path_to_image" alt="" />

Thats what I’ve got after clicking save:

<img title="\&quot;\&quot;" src="https://wordpress.stackexchange.com/questions/50674/\&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'] ]);

3 s
3

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 );

Leave a Reply

Your email address will not be published. Required fields are marked *