首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tinyMCE.editors[] wordpress 4.8未定义

tinyMCE.editors[] wordpress 4.8未定义
EN

Stack Overflow用户
提问于 2017-10-10 22:16:05
回答 1查看 221关注 0票数 0

我有一个带有metabox的自定义posttype,可以将带有编辑器的post添加到post中。每当我使用编辑器添加新帖子时,我都想保存该编辑器的内容。它以前工作得很好,但现在已经停止工作。我可以看到编辑器api的wordpress更新4.8中有一些变化,但我看不到这些变化对我的代码有什么影响。

制作编辑器:

代码语言:javascript
复制
    <?php
 public function wldk_elearn_add_elements_to_metabox($subpage_id){
    $parent_id = $subpage_id;
    echo '<div id="element_data_input_text">';
    <?php
    $settings = array( 'textarea_name' => 'mycustomeditor_'.$parent_id );
    $editor_id = 'mycustomeditor_'.$parent_id;
    wp_editor( "", $editor_id, $settings );
    echo '</div>';
 }

Javascript

代码语言:javascript
复制
 function handleAddElementAction() {
    $('.wldk-elearn-add-element').click(function (event) {

        event.preventDefault();
        var $wrapper = $(this).parents('#wldk-elearn-new-element');
        var $subpage = $wrapper.find('input[name=subpage_id]');
        var $type = $wrapper.find('input:radio[name=element_type]:checked');
        var subpage = $subpage.val();
        var content = '';
        var whichmceditor = 'mycustomeditor_'+subpage;
        console.log(whichmceditor);
        if($type.val()=='tx'){

            content = tinyMCE.editors[whichmceditor].getContent();             

        }
   });

 }

未捕获的TypeError:无法读取未定义的属性“”getContent“”

我也试过

代码语言:javascript
复制
  content = tinyMCE.get(whichmceditor).getContent();

这就给了我

未捕获TypeError:无法读取null的属性“”getContent“”

这就像tinyMCE方法不再存在了或者别的什么。我不是很擅长这一点,所以任何帮助或线索都会非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-10-11 00:21:50

所以我想通了!简单地说,编辑器必须处于可视模式才能获得编辑器。一个简单的条件就可以解决这个问题:

代码语言:javascript
复制
function handleAddElementAction() {   
   $('.wldk-elearn-add-element').click(function (event) {

    event.preventDefault();
    var $wrapper = $(this).parents('#wldk-elearn-new-element');
    var $subpage = $wrapper.find('input[name=subpage_id]');
    var $type = $wrapper.find('input:radio[name=element_type]:checked');
    var subpage = $subpage.val();
    var content = '';
    var whichmceditor = 'mycustomeditor_'+subpage;
    console.log(whichmceditor);
    if($type.val()=='tx'){

        if($wrapper.find('#'+whichmceditor).is(':visible')){
            content = $wrapper.find('#'+whichmceditor).val();   
        }else{
            content = tinyMCE.editors[whichmceditor].getContent();             
        }           

    }
 });

}

这是我生命中浪费的3个小时,也许文档可以更清楚,也许是我,也许是maybeline。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46669061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档