WordPress - TinyMCE在小部件保存时消失

时间:2014-03-17 17:34:45

标签: jquery wordpress widget tinymce wysiwyg

我想在WordPress中创建自定义小部件。为了更好的用户体验,我想在窗口小部件中插入一个最小的TinyMCE WYSIWYG编辑器。

我的问题

我已经将WYSIWYG与wp_editor()函数集成在一起,但是当我输入一个值并按下保存按钮时,按钮消失,文本为白色(但仍然存在)。

在萤火虫中,列出了以下错误:

  1. D.hasChildNodes不是函数(editor-template.js,第1行)

  2. NS_ERROR_UNEXPECTED:(tiny_mce.js,第1行)

  3. The problem

    这是我到目前为止的代码:

    我的代码

    表格功能:

    public function form( $instance ) {
        //$pages = 
    
        $settings = array( 
            'media_buttons' => false,
            'tinymce' => array(
                'theme_advanced_buttons1' => 'bold,italic,underline',
                'theme_advanced_buttons2' => '',
                'theme_advanced_buttons3' => ''
            ),
            'textarea_name' => $this->get_field_name( 'description' )
        );
    
        if ( $instance ) {
            $title = $instance[ 'title' ];
            $page = $instance['page'];
            $description = $instance['description'];
            $image_uri = $instance['image_uri'];
        } else {
            $title = __( 'New title', 'wpb_widget_domain' );
            $page = __( 'New Page', 'wpb_widget_domain' );
            $image_uri = __( 'New Image', 'wpb_widget_domain' );
            $description = __( 'New Description', 'wpb_widget_domain' );
        }
    ?>
    [some code that doesn't matter]
    <p>
    <label for="<?php echo $this->get_field_id( 'description' ); ?>"><?php _e( 'Description:' ); ?></label><br />
    <?php wp_editor( $description, $this->get_field_id( 'description' ), $settings ) ?>
    </p>
    [some code that doesn't matter]
    
    <?php 
    }
    

    更新功能:

    public function update( $new_instance, $old_instance ) {
        var_dump($new_instance);
    $instance = array();
    $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
        $instance['page'] = ( ! empty( $new_instance['page'] ) ) ? strip_tags( $new_instance['page'] ) : '';
        $instance['image_uri'] = ( ! empty( $new_instance['image_uri'] ) ) ? strip_tags( $new_instance['image_uri'] ) : '';
        $instance['description'] = ( ! empty( $new_instance['description'] ) ) ? strip_tags( $new_instance['description'] ) : '';
    
        return $instance;
    }
    

    另一件可能很重要的事情: 当我转储$ _POST时,描述字段的值不会更新。

    任何?

    提前致谢。 HS。

1 个答案:

答案 0 :(得分:0)

我认为这是一个拙劣的核心错误,当调用编辑器上的方法remove()时会发生这种错误。您使用的是哪种版本?