2017-10-10 178 views
0

我有一个自定义帖子类型,可以添加带有编辑帖子的帖子。每当我用编辑器添加新帖子时,我都想保存该编辑器的内容。它以前运行良好,但现在停止工作。我可以看到wordpress update 4.8在编辑器api中有一些变化,但我看不到变化如何影响我的代码。tinyMCE.editors [] wordpress 4.8 undefined

制作编辑:

<?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

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();    

     } 
    }); 

} 

遗漏的类型错误:无法读取的不确定

我也有试过

content = tinyMCE.get(whichmceditor).getContent(); 

w属性 '的getContent' HICH只是给了我

遗漏的类型错误:喜欢不存在tinyMCE的方法了什么不能看空

它的特性“的getContent”。我不擅长这一点,所以任何帮助或线索都会大打折扣。

回答

0

所以我想通了!简而言之,编辑必须处于视觉模式才能获得编辑。一个简单的条件修复的问题:

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。