カスタムオプションページを作成していて、wp_editorを使用してTinyMCEエディタになったテキストエリアを持っています。
TinyMCEは正しく表示されますが、$ idに角括弧を含めると壊れます。これが私がadd_settings_field関数のコールバックに使っているコードです:
function px_wp_editor($args){
$options = get_option('theme_options');
$value = $options['px_wp_editor'];
$id = 'theme_options[px_wp_editor]';
extract( $args );
$class = (!empty($class))?$class:'';
$settings = array(
'textarea_rows' => 12,
'textarea_name' => $id,
'editor_class' => $class,
'media_buttons' => true,
'tinymce' => true
);
wp_editor($value, $id, $settings );
}
$ id値から角かっこを削除した場合、それは正常に表示されます。ただし、get_optionを使用して値を取得する方法のため、現在のように "textarea_name"を角括弧で呼び出す必要があります。
下の最初の写真は、名前に角かっこを使用した場合の外観です(フルアイコンは正しく表示されず、ビジュアル/テキストボタンはありません)。
2番目の写真は、表示方法です。
角かっこをエディタIDとして使用することはできません。しかし、あなたはtextarea名を変更することができます。
wp_editor('','px_wp_editor',array('textarea_name' => 'theme_options[px_wp_editor]'));
重要なのは、 "id"と "textarea_name"が違うということです。
今これをテストすることはできませんが、試してみてください。
$id = htmlentities('theme_options[px_wp_editor]');