受限的用户功能无法添加图像

时间:2015-06-25 作者:myol

我限制了用户的功能

$capabilities = array(
    \'delete_posts\'           => true,
    \'delete_published_posts\' => true,
    \'edit_posts\'             => true,
    \'edit_published_posts\'   => true,
    \'publish_posts\'          => true,
    \'read\'                   => true,
    \'upload_files\'           => true
);
除了用户不能将图像插入CPT中的编辑器字段之外,一切都按照我的预期进行,尽管他们有upload files 能力。

\'supports\'      => array( \'title\', \'editor\' ),
我错过了什么让他们这样做的能力?

EDIT

因此,违规代码就在下面的某个地方

function remove_admin_menu_items() {
    if ( current_user_can( \'test_author\' ) ) {
        /** remove side dashboard items */
        remove_menu_page( \'edit.php\' );                             //Posts
        remove_menu_page( \'edit.php?post_type=page\' );              //Pages
        remove_menu_page( \'edit-comments.php\' );                    //Comments
        remove_menu_page( \'themes.php\' );                           //Appearance
        remove_menu_page( \'plugins.php\' );                          //Plugins
        remove_menu_page( \'users.php\' );                            //Users
        remove_menu_page( \'tools.php\' );                            //Tools
        remove_menu_page( \'options-general.php\' );                  //Settings
        remove_menu_page( \'edit.php?post_type=cpt_customposttype\' );
    }
}
add_action( \'admin_init\', \'remove_admin_menu_items\' ); //use late hook so plugins have all loaded

2 个回复
SO网友:sakibmoon

您没有错过任何功能。用户应该能够使用这些功能将图像插入编辑器。

我能想到的唯一问题是,你试图修改一个角色的能力,但这不起作用。

See this section

如果要定义自定义角色,并使用add\\u role()向角色添加功能,请注意,修改功能数组并重新执行add\\u role()不一定会使用新功能列表更新角色。如果数据库中已经存在该角色,则add\\u role()函数会短路。

这种情况下的解决方法是在add\\u role()调用之前,先调用一个remove\\u role()调用,该调用的目标是要添加的角色。

SO网友:myol

我发现了问题。在线某处建议使用延迟挂钩,以便加载所有插件。

add_action( \'admin_init\', \'remove_admin_menu_items\' );
显然我用错了钩子。相反,我使用了食品法典委员会的建议

add_action( \'admin_menu\', \'remove_admin_menu_items\' );

结束

相关推荐

About Wordpress capabilities

我知道WordPress是博客引擎的最佳选择,通过一些插件,如Advance Custom Field,WP可以成为一个很棒的CMS。但它仍然有利于出版商将内容推送给用户。现在我的处境相当严峻。我的朋友想使用WP作为一个引擎,用户可以贡献他们的帖子,其他人可以查看它。是否可以使用WP我可以创建自定义主题(&a);插件可以做到这一点,但当用户在插件上放置很多东西(页面和帖子)时,它对性能有好处吗?