0

我正在尝试编写一个插件来为所有用户禁用 WordPress WSYIWYG 编辑器。

我写了一些代码来删除 tinymce 目录,但这会破坏编辑器——你不能写任何东西或使用 HTML 选项卡。

$dirName = ABSPATH . '/wp-includes/js/tinymce';
if (is_dir($dirName)) {
    rename("$dirName", $dirName."_DISABLED");
}

我试图模拟当您在用户设置选项卡中选择“写入时禁用可视化编辑器”复选框时会发生什么,但始终适用于所有用户。

4

2 回答 2

1

如果您想采用非常正面的解决方案,您可以通过直接在数据库中更新几行来模拟它,如下所示:

UPDATE wp_usermeta SET meta_value = 'false' WHERE meta_key = 'rich_editing';

或者,如果你想使用 Wordpress 函数,你可以使用 update_user_meta。这是文档:http ://codex.wordpress.org/Function_Reference/update_user_meta

于 2012-11-03T15:53:51.883 回答
0

Jean 指出了方向,但想分享完整的工作代码:

在我的插件中:

// Only do this if we're in admin section:
if(is_admin()) {
    // Add the action on the init hook, when user stuff is already initialized:
    add_action('init', 'disable_rich_editing');
}
function disable_rich_editing(){
    $current_user = wp_get_current_user();
    $isRichEditing = $current_user->get('rich_editing');
    if ($isRichEditing) {
        update_user_meta( $current_user->ID, 'rich_editing', 'false' );
    }
}

它能做什么:

通常禁用所见即所得的唯一方法是在每个用户的设置页面上选择“编写时禁用可视化编辑器”。这将强制所有用户始终检查该选项,即使他们试图取消选中它。

于 2012-11-03T16:48:33.417 回答