如何默认隐藏编辑器的某个字段

时间:2018-11-27 作者:LaMigra

我正在写一个有很多作者的博客。我想防止他们意外地向我们的读者发送推送消息,因为我们使用的推送插件的按钮看起来与“发布”按钮非常相似。

默认情况下,对于某些用户组,是否有方法隐藏类似此按钮的元素?

当然,我可以在编辑器上方的视图菜单中取消选中它,但这不会改变所有其他作者的选择。

2 个回复
最合适的回答,由SO网友:RiddleMeThis 整理而成

这里有几个选项。

您可以创建一个在管理区域加载的样式表,并在需要时为某些用户启用该样式表。下面是一个在管理员中为角色为“shopmanager”的用户加载样式表的示例。

function my_admin_styles(){
    $user = wp_get_current_user();

    if( ! empty($user) && count(array_intersect(["shop_manager"], (array) $user->roles ))) {
        wp_enqueue_style(
            \'admin_css\', 
            get_stylesheet_directory_uri() . \'/css/admin-shopmanager.css\', array(), filemtime( get_stylesheet_directory() . \'/css/admin-shopmanager.css\') 
        );
    }
}

add_action(\'admin_enqueue_scripts\', \'my_admin_styles\');
然后在样式表中添加如下内容。。。

#elementID {
    display: none !important;
}
您也可以尝试一个名为“Capability Manager Enhanced“它允许您根据用户角色禁用内容。

SO网友:LaMigra

我找到了解决办法。这更像是一种变通方法,因为它利用了一个插件,但却实现了我一直在寻找的功能。我使用插件Adminimize为用户组“Author”隐藏相关字段的ID(您可以使用Chromes或Firefox“inspector工具”找到)。

结束

相关推荐

Add editor toolbar to Metabox

我有多个这样的元数据库:function initialisation_metaboxes_home(){ add_meta_box(\'home_extract_meta\', \'Affichage home\', \'ma_meta_function_home\', \'produit_fr\', \'normal\', \'high\'); add_meta_box(\'home_extract_meta\', \'Affichage home\', \'