wp_editor忽略"Disable the visual editor when writing"的用户设置



我正在wordpress中使用wordpress函数wp_editor((。这显示一个所见即所得编辑器,类似于用于创建帖子和页面的编辑器。

我在一个自定义插件中使用这个函数。当我第一次使用它时,它没有显示在视觉模式和文本模式之间切换的两个按钮,而只显示文本模式。

经过一番搜索,我发现这是一个用户设置。如果你转到wp-admin->users->edit-user,你会看到设置:"写东西时禁用可视化编辑器"和复选框。

一旦我取消选中它,它就为那个用户工作了。然而,我正在寻找一种显示按钮的方法,即使用户将禁用的视觉编辑器设置设置为true。

因此,我的问题是:无论当前用户设置如何,我如何使用插件中的wp_editor((函数来显示带有视觉和文本模式按钮的wordpress所见即所得编辑器。

我已经找到了解决方案。函数wp_editor((调用一个类,该类使用函数user_can_richedit((检查用户设置是否为"写入时禁用视觉编辑器"。所以添加一个临时过滤器可以覆盖这个:

<?php

add_filter('user_can_richedit','richEditOverwrite',999999);
wp_editor($content,$editor_id);
remove_filter( 'the_content', 'richEditOverwrite' );
/**
 * Overwrites user_can_richedit()
 * @return bool
 */
function richEditOverwrite(){
    return true;
}
?>

最新更新