私は自分のテーマオプションページを作成していて、ここではWordpress TinyMCEエディタを使用したいので、wp_editor
を呼び出しています。しかし、データを保存しているときに、たとえばいくつかのエンティティがコンテンツに追加されている場合は、画像を追加したいとしましょう。
<img class="" title="" src="path_to_image" alt="" />
[保存]をクリックした後に表示される内容は、次のとおりです。
<img title="\"\"" src="\"path_to_image\"" alt="\"\"" />
これはなぜ引用符を実体に変えているのですか(そして実際の - 正しく表示された引用符を残しますか?)?
@ edit:これが私のエディタを表示する方法です:
$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 );
そしてそれは私がこの分野のためにデータを保存する方法です:
update_option($value['id'],
$_POST[ $value['id'] ]);
WordPressはaddslashes
入力でPOST
を実行しています。データベースから得られる値は、おそらく次のようになります。
<img title=\"\" …
…そしてエディタはそれから有効なマークアップを強制しようとします。
それで…エディタを…で呼び出してください。
wp_editor( stripslashes( $content ), strtolower($value['id']), $settings );
私も同じ問題を抱えていました。それから私は使用しました:
<? wp_editor(html_entity_decode(stripcslashes(get_option('wid1_cont'))), "editor1",$settings = array('textarea_name'=>'wid1_cont','textarea_rows'=>'5') ); ?>
出来た..
時々、問題は保存されていません:ただビューステージにあります。
試してください:
wp_editor( html_entity_decode($content), strtolower($value['id']), $settings );