调用 wp_editor 得到错误 getContent null

Posted

技术标签:

【中文标题】调用 wp_editor 得到错误 getContent null【英文标题】:calling wp_editor getting error getContent null 【发布时间】:2018-07-06 17:55:09 【问题描述】:

我从php 调用wordpresstinyMCE,并通过ajax 将其内容分配给表单数组键。 我不断收到错误:Cannot read property 'getContent' of null. 我读过 Wordpress wp_editor() not working 和 Include TinyMCE plugins with Wordpress wp_editor? 等想法,但仍然无法将 tinyMCE 的内容放入 form array

JS:

var form            =   
            action:             "submit_user_data",
            content:            tinymce.activeEditor.getContent(),
            title:              $("#inputTitle").val(),
            ingredients:        $("#inputIngredients").val(),
            time:               $("#inputTime").val(),
            utensils:           $("#inputUtensils").val(),
            level:              $("#inputLevel").val(),
            meal_type:          $("#inputMealType").val()
        ;

PHP:

wp_editor( '', 'tinymcecontenteditor' );

问题源于tinymce.activeEditor.getContent() 电话。 有什么想法吗? 谢谢

【问题讨论】:

【参考方案1】:

在调用'tinymce 的方法和函数之后,我没有发现调用有任何问题。 但不知何故(仍然无法弄清楚这个是留给公众的)我注意到如上所述从jquery 调用tinymce 并不能访问它的内容(显然......dah..)。 我发现我需要做的是,而不是调用getContent 函数,我必须触发triggerSave 函数并通过id 获取对象的val,所以:

tinyMCE.triggerSave();
var contents = $("#tinymcecontenteditor").val();

在我将其内容分配给form array之前。

表单数组更改为content: contents,

shahnbaz's answer 为我指明了那个方向。

【讨论】:

【参考方案2】:

听起来问题在于您的 WordPress 集成。只要 TinyMCE JS 在页面中,activeEditor 就应该始终返回编辑器实例。

【讨论】:

以上是关于调用 wp_editor 得到错误 getContent null的主要内容,如果未能解决你的问题,请参考以下文章

WP Editor - wp_editor() 在 ajax 调用中未正确显示

未记录时使用 wp_editor() 停止工作

动态加载 wordpress wp_editor (ajax)

Symfony $request->getContent() 格式错误?

如何在单个页面中添加多个 wp_editor

动态生成的 Wordpress 所见即所得编辑器 (wp_editor) 无法正确显示