是否创建只有权将文件上载到媒体库的用户角色?

时间:2011-12-17 作者:Mestika

我所在组织的一些员工需要能够将文件上载到文件夹并与其他人共享链接。主要是图片、pdf和Word文档等文档。我没有创建一个全新的文件管理系统,而是考虑使用内置的Wordpress媒体库功能来完成这项任务。

但我的问题是,我想创建一个具有以下权限的用户角色only 做那件事,别做别的。如果可能,还可以隐藏所有其他选项面板、自定义帖子类型等。

我已经阅读了一些关于用户角色和功能的内容,并创建了一个插件,但我认为当它是我需要创建的唯一用户角色时,安装一个大型插件有点过分。而且,我想了解更多,我认为这是一个很好的方法。

任何帮助都将不胜感激。

真诚-梅斯蒂卡

3 个回复
最合适的回答,由SO网友:Jeremy Jared 整理而成

Install Justin Tadlock\'s Members Plugin. 它具有每个配置的角色,允许对用户进行深入控制。如果标准角色不允许您想要的访问控制量,您可以创建自定义角色并分配特定的访问级别。

SO网友:Murray

类似这样:https://codex.wordpress.org/Function_Reference/add_role然后

if ( current_user_can(\'new_role\') && !current_user_can(\'upload_files\') )
add_action(\'admin_init\', \'allow_new_role_uploads\');


function allow_new_role_uploads() {
    $new_role = get_role(\'new_role\');
    $new_role->add_cap(\'upload_files\');
}

SO网友:Ergest Imaj

如果已创建自定义角色以添加新功能,请将此代码添加到这些功能中。php

function add_theme_caps(){
    global $pagenow;

    // gets the author role
    $role = get_role( \'teacher\' );
    $role2 = get_role( \'school\' );

    if ( \'themes.php\' == $pagenow && isset( $_GET[\'activated\'] ) ){ // Test if theme is activated
        // Theme is activated

        // This only works, because it accesses the class instance.
        // would allow the author to edit others\' posts for current theme only
        $role->add_cap( \'upload_files\' );
        $role2->add_cap( \'upload_files\' );
    }
    else {
        // Theme is deactivated
        // Remove the capability when theme is deactivated
        $role->remove_cap( \'upload_files\' );
        $role2->remove_cap( \'upload_files\' );
    }
}
add_action( \'load-themes.php\', \'add_theme_caps\' );
Dactivate和active主题进行更改

结束

相关推荐

404从wp-Content/Uploads/获取图像时

我在获取图像时获得404状态,http仍然包含该图像。图像显示在浏览器中,但404代码中断了一些应用程序。对wp内容/上载/的调用被重定向到。htaccess:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteRule (.*) /index.php?getfile=$1 [L] </IfModule>&