簡體   English   中英

tinyMCE.editors [] wordpress 4.8未定義

[英]tinyMCE.editors[] wordpress 4.8 undefined

我有一個帶有metabox的自定義posttype,可以將帶有編輯器的帖子添加到帖子中。 每當我使用編輯器添加新帖子時,我都想保存該編輯器的內容。 以前運行正常,但現在停止工作。 我可以看到wordpress update 4.8中對編輯器api進行了一些更改,但是看不到更改如何影響我的代碼。

制作編輯器:

    <?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>';
 }

Java腳本

 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'

我也嘗試過

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

這只是給我

未捕獲的TypeError:無法讀取null的屬性“ getContent”

就像tinyMCE方法一樣,它不再存在。 我不是很擅長此事,因此將不勝感激任何幫助或線索。

所以我想通了! 只是為了獲得編輯器,編輯器必須處於可視模式。 一個簡單的條件可解決此問題:

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個小時,也許文檔可能更清晰,也許是我,或者也許是熱線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM