Wordpress wp_editor括号错误的解决方案



我试图让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/

最新更新