2017-04-20 109 views
0

我想在WordPress管理區使用Tinymce編輯器的getContent功能,但無濟於事。tinymce編輯器getContent空Wordpress

這裏是我想要做的工作筆

https://codepen.io/anon/pen/oWxjyM?editors=1111

HTML

<textarea class="wp-editor-area" rows="20" autocomplete="off" cols="40" name="wprss_ftp_post_prepend" id="wprsspostprepend">&lt;p&gt;To give is good&lt;/p&gt;</textarea> 

JS

jQuery(document).ready(function() { 
    $("#wprsspostprepend").addClass("prepend_editor"); 
var name = "wprsspostprepend"; 
if($("#" + name).length > 0) { 

    tinyMCE.init({ 
     mode : "specific_textareas", 
     editor_selector : "prepend_editor" 
}); 
    var content = tinyMCE.activeEditor.getContent(); 
    alert(content); 
    tinyMCE.activeEditor.setContent("<div id='random-wrap'>" + content + "</div>"); 
} 
}); 

爲什麼會出現在WordPress的空引用錯誤如果它在codepen中起作用。

回答

1

這裏的問題很可能是init()方法是異步的。您似乎試圖在調用init()後立即嘗試使用tinymce對象(例如tinymce.activeEditor),但初始化過程可能尚未完成,因此頁面上沒有「活動」編輯器。

如果您希望在編輯器「儘快可用」的情況下與編輯器交互,則可以在您的TinyMCE init()調用中使用onInit觸發器。例如:

tinymce.init({ 
    selector: '#myTextArea", 
    setup: function (editor) { 
    editor.on('init', function() { 
     this.setContent('<p>Add content via on init!</p>'); 
    }); 
    } 
}); 
+0

非常感謝!如果可以的話,我會再鼓掌一次! –