我已使用加载tinyMCE编辑器wp_editor
Wordpress的功能。
现在,我想在编辑器初始化后设置它的值。我试着这样做:
$(function() {
tinymce.get(...).setContent(...);
});
但它抛出了一个错误
Cannot read property \'setContent\' of undefined
因为编辑器尚未初始化。要确认它,我使用控制台记录
console.log( tinymce.editors.length )
报表及其打印
0
但后来我检查变量时
tinymce.editors
加载完成后使用浏览器控制台,编辑器就在那里,我可以操纵它。
因此,我的结论是等待所有tinyMCE编辑器初始化,然后运行上述代码来更改编辑器的值。注意,我需要使用JS而不是从后端(php)设置值。
编辑:我正在使用以下语句加载JS脚本:
add_action( \'admin_enqueue_scripts\', array( $this, \'enqueue_scripts\' ) );
在
enqueue_scripts
功能:
wp_enqueue_script(..., ..., true);
请告诉我是否有办法做到这一点。问我你是否需要更多信息,或者我不清楚。
提前感谢:)
最合适的回答,由SO网友:Godson Programmer 整理而成
您可以等待添加特定的编辑器管理器,然后绑定init
事件处理程序设置编辑器的内容,如下所示:
tinymce.on( \'addeditor\', e => {
if ( e.editor.id === <your_editor_id> ) {
e.editor.on( \'init\', event => {
event.target.setContent( <your_editor_content> );
});
}
}, true );