首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按用户角色切换Gutenberg首选项

按用户角色切换Gutenberg首选项
EN

Stack Overflow用户
提问于 2021-04-27 15:58:35
回答 1查看 209关注 0票数 2

我正在寻找一种方法来隐藏一些页面设置面板在Gutenberg编辑器侧边栏基于用户角色。由于这些面板标题没有特定的类,所以我无法使用CSS来针对它们,所以我想知道是否有一种方法至少可以控制哪些面板在首选项中处于活动状态:

有没有人知道我是否可以根据用户角色有条件地预先设置这些切换点?

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2022-03-28 07:20:07

我在WordPress 5.9上做了一些工作(没有在早期版本上进行测试)。

包含插件/主题的JS

代码语言:javascript
复制
add_action( 'enqueue_block_editor_assets', [ __CLASS__, 'so67286587EnqueueGutenbergEditorAssets' ] );

function so67286587EnqueueGutenbergEditorAssets() {
  wp_enqueue_script( 'so67286587-gutenberg', plugins_url( '/js/gutenberg.jsx.js', __FILE__ ), [ 'wp-edit-post' ] );
}

这是JS的特效。我只是检查是否一些功能是检查/未检查,并切换他们。

代码语言:javascript
复制
// force enabling those settings
['reducedUI', 'keepCaretInsideBlock', 'showBlockBreadcrumbs', 'focusMode', 'themeStyles'].forEach(mustBeEnabled => {
    if (!wp.data.select('core/edit-post').isFeatureActive(mustBeEnabled)) {
        wp.data.dispatch('core/edit-post').toggleFeature(mustBeEnabled);
    }
});

// force disabling those settings
['fullscreenMode', 'fixedToolbar', 'welcomeGuide', 'showIconLabels', 'mostUsedBlocks'].forEach(mustBeDisabled => {
    if (wp.data.select('core/edit-post').isFeatureActive(mustBeDisabled)) {
        wp.data.dispatch('core/edit-post').toggleFeature(mustBeDisabled);
    }
});

这个JSX文件是用@wordpress/脚本编译的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67286587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档