You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery读取带editor_class类的wp_editor内容?

解决wp_editor自定义类无法读取内容的问题

我之前也碰到过一模一样的情况——直接通过类名读取wp_editor对应的textarea内容,结果拿到的要么是空值,要么不是用户刚输入的最新内容。这是因为wp_editor默认集成了TinyMCE可视化编辑器,它的内容存储逻辑和普通textarea完全不同,得用对应的API来处理才行。

下面给你几个可行的解决方法:

方法1:通过编辑器ID直接获取(最可靠)

wp_editor初始化时你肯定指定了唯一ID(第二个参数),用这个ID配合TinyMCE的API是最稳妥的方式:

首先假设你的wp_editor是这样初始化的:

wp_editor( '', 'my_custom_editor', array(
    'editor_class' => 'editor_class',
    // 其他配置项
) );

然后用JavaScript获取内容:

function getMyEditorContent() {
    const editorId = 'my_custom_editor';
    let content = '';

    // 先检查TinyMCE是否已经初始化了这个编辑器
    if (tinyMCE.get(editorId)) {
        // 可视化模式下用API获取最新内容
        content = tinyMCE.get(editorId).getContent();
    } else {
        // 纯文本模式直接读取textarea的值
        content = document.getElementById(editorId).value;
    }

    return content;
}

方法2:通过自定义类名获取(适合多编辑器场景)

如果页面有多个wp_editor,只想获取带editor_class类的那个,可以遍历TinyMCE的实例列表:

function getEditorContentByClass() {
    let content = '';

    // 遍历所有已初始化的TinyMCE编辑器
    for (const editor of tinyMCE.editors) {
        // 检查编辑器对应的原生textarea是否有目标类
        if (editor.getElement().classList.contains('editor_class')) {
            content = editor.getContent();
            break; // 找到第一个匹配的就停止,多个的话可以存进数组
        }
    }

    // 如果没找到TinyMCE实例(比如编辑器处于纯文本模式),直接找textarea
    if (!content) {
        const textarea = document.querySelector('textarea.editor_class');
        if (textarea) content = textarea.value;
    }

    return content;
}

方法3:表单提交时同步内容再读取

如果是在表单提交场景下,可以先触发TinyMCE把内容同步到textarea,之后再读取就和普通输入框一样了:

document.querySelector('form').addEventListener('submit', function(e) {
    // 同步所有TinyMCE编辑器的内容到对应的textarea
    tinyMCE.triggerSave();
    
    // 现在可以安全读取带类名的textarea内容了
    const content = document.querySelector('textarea.editor_class').value;
    console.log('提交的内容:', content);
});

为什么直接读textarea不行?

当TinyMCE处于可视化编辑模式时,用户输入的内容其实是存在TinyMCE的内部实例里的,原生textarea只是作为“备份”存在,不会实时更新。只有当切换到纯文本模式,或者触发了triggerSave()方法时,textarea的值才会和编辑器内容同步。

内容的提问来源于stack exchange,提问作者Abdus Sattar Bhuiyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:19:09