我试图让wysiwyg编辑器在自定义选项页面上工作。但是我不允许使用方括号作为编辑器id。
这是我目前正在使用的代码。(以此为起点:http://themeshaper.com/2010/06/03/sample-theme-options/)
<?php
$content = $options['sometextarea'];
$editor_id = 'some_theme_options[sometextarea]';
$settings = array(
'wpautop' => false,
'media_buttons' => false,
'textarea_name' => $editor_id,
'textarea_rows' => get_option('default_post_edit_rows', 10),
'tinymce' => true,
'quicktags' => true
);
wp_editor( $content , $editor_id, $settings );
?>
谁能给我解释一下这个怎么用?使用当前的代码,我只能使用quicktags获得所见即所得的编辑器。如果我重命名$editor_id为纯文本,我能够得到完整的编辑器,但它不会保存。
我终于让它正常工作了!
是这样的:
<?php
$content = $options['sometextarea'];
$editor_id = 'sometextarea';
$settings = array(
'wpautop' => false,
'media_buttons' => false,
'textarea_name' => 'mythemename_theme_options[sometextarea]', //You can use brackets here !
'textarea_rows' => get_option('default_post_edit_rows', 10),
'tabindex' => '323',
'editor_css' => '',
'editor_class' => '',
'teeny' => false,
'dfw' => false,
'tinymce' => true,
'quicktags' => true
);
wp_editor( $content , $editor_id, $settings );
?>
这个问题是由$editor_id
参数引起的,所以给它一个没有括号[]的名字,而不是my_text_area_id_['textarea']
,只是给它一个普通的ID,比如my-textarea-id
,它应该工作!
wp_editor(
string $content,
string $editor_id,
array $settings = array()
);
裁判:https://developer.wordpress.org/reference/functions/wp_editor/