元框中的WP_EDITOR可视选项卡不显示内容

时间:2021-01-27 作者:Jeremy Caris

如果单击“文本”选项卡,您可以看到内容,但当切换回“视觉”选项卡时,它不会显示任何内容。它也不是白色背景上的白色文本。。。它只是没有内容。该功能在其他情况下工作。我可以通过文本选项卡输入或更改内容,这很有效。但它从不在可视选项卡中显示内容。

我禁用了所有插件并切换到2020主题,在本地机器上运行Wordpress 5.6,结果相同。以下是我的测试代码:

add_action(\'admin_init\', \'custom_editor_meta_box\');
function custom_editor_meta_box () {    
    add_meta_box ( \'custom-editor\', \'Custom Editor\', \'custom_editor_callback\', \'post\',);
}

function custom_editor_callback ( $post ) {          
    $content = get_post_meta($post->ID, \'custom_editor\', true);

    wp_editor ( $content, \'custom_editor\', array ( "media_buttons" => true ),);
}

add_action(\'save_post\', \'custom_editor_save_postdata\');
function custom_editor_save_postdata ( $post_id ) {
    if( isset( $_POST[\'custom_editor_nonce\'] ) && isset( $_POST[\'post\'] ) ) {
        if( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) {
            return;
        } 

        if ( !wp_verify_nonce ( $_POST[\'custom_editor_nonce\'] ) ) {
            return;
        } 

        if( \'post\' == $_POST[\'post\'] && !current_user_can( \'edit_post\', $post_id ) ) {
            return;
        } 
    } 

    if ( !empty( $_POST[\'custom_editor\'] ) ) {
        $data = $_POST[\'custom_editor\'];
        update_post_meta($post_id, \'custom_editor\', $data);
    }
}

enter image description here

enter image description here

更新的测试代码(结果仍然相同):

function custom_editor_meta_box () {    
    add_meta_box ( \'custom-editor\', \'Custom Editor\', \'custom_editor_callback\', \'post\',);
}

function custom_editor_callback ( $post ) {          
    $content = get_post_meta($post->ID, \'custom_editor\', true);

    wp_editor ( $content, \'custom_editor\', array ( "media_buttons" => true ) );
}

add_action(\'save_post\', \'custom_editor_save_postdata\');
function custom_editor_save_postdata ( $post_id ) {
    if ( !empty( $_POST[\'custom_editor\'] ) ) {
        $data = $_POST[\'custom_editor\'];
        update_post_meta($post_id, \'custom_editor\', $data);
    }
}

3 个回复
最合适的回答,由SO网友:Jeremy Caris 整理而成

这个问题似乎是Wordpress 5.6的一个bug。看见this thread of comments for the same issue 使用CMB2“;用于构建元数据库、自定义字段和表单的开发人员工具包;我将其实现为一种尝试的替代方案(它产生了与我发布的原始代码相同的结果)。

SO网友:timmyg

我只想添加一个临时补丁,以防任何人在下一个WP核心版本发布之前需要一个快速的临时补丁:我发现安装Enable jQuery Migrate Helper插件解决了我的几个自定义元框的问题。显然不是一个长期的解决方案。

SO网友:StarSagar

对我来说,一个临时的解决方法是,为wp编辑器设置一个默认的“文本”模式,如

// Set wp-editor in the \'Text\' mode by default.
add_filter(
    \'wp_default_editor\',
    function () {
        return \'html\';
    }
);
当我们从文本切换到可视化时,wp编辑器(tinyMCE)工作得很好,虽然它不是一个完美的修复方法,但它可以很快战胜添加一个全新插件(启用jQuery Migrate Helper)。

相关推荐

第一次提交时WP-EDITOR为空

我在一个简单的插件中使用wp编辑器,但我遇到了一个问题,第一次点击提交按钮时,数据库中的内容是空白的。<?php $editor_id = \'mycontent\'; wp_editor($content, $editor_id ); ?> 因此,我尝试使用以下内容提醒内容:if (j(\".wp-content-wrap\").hasClass(\"tmce-active\")){ alert(