向所有用户显示媒体-上载

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

我希望将我的媒体库和所有当前上载的文件分发给所有用户并可供其使用。我正在使用User Role Editor Plugin

是否有任何功能。让所有用户和角色都能看到所有媒体上传的php黑客?

我有一个订阅者,可以编辑一些页面和上载媒体,但当前在管理员库中的媒体上载对订阅者不可见。

更新:我目前的方法,到目前为止还不起作用。

我的职能。php文件:

add_action( \'admin_init\', \'rk_shared_uploads\' );
add_action( \'init\', \'rk_shared_uploads\');

function rk_shared_uploads() {
    $subscriber = get_role( \'subscriber\' );
    $subscriber->add_cap( \'upload_files\' );
    $subscriber->add_cap( \'unfiltered_upload\' );

    $contributor = get_role( \'contributor\' );
    $contributor->add_cap( \'upload_files\' );
    $contributor->add_cap( \'unfiltered_upload\' );

    $author = get_role( \'author\' );
    $author->add_cap( \'upload_files\' );
    $author->add_cap( \'unfiltered_upload\' );
}
在我的wp配置中。php

const PP_MEDIA_LIB_UNFILTERED = true;

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

据报道,您提到的插件仅在WordPress版本3.6.1之前经过测试。

我(通常)不建议放弃插件,因为它们可能会带来安全风险。

此外,它使用PHP4类构造函数(可能很快就会被弃用),并以静态方式调用非静态方法。

如果删除插件,则应该能够使用代码段:

add_action( \'admin_init\', \'mathiregister_allow_uploads\' );

function mathiregister_allow_uploads() {
    $contributor = get_role( \'contributor\' );
    $contributor->add_cap(\'upload_files\');
}
允许contributors 访问媒体库并上载文件。

记住为过滤器回调加前缀,以避免名称冲突。

ps:浏览插件代码,您可以通过定义以下内容绕过插件的媒体限制:

define( \'SCOPER_ALL_UPLOADS_EDITABLE \', true );
或者去做吧@toscho style:

const SCOPER_ALL_UPLOADS_EDITABLE = true;
在全球范围内,例如wp-config.php 文件

但你真的应该考虑使用最新的插件。

SO网友:Karun

您是否尝试添加unfiltered_upload 还有能力吗?

function add_theme_caps() {
    // gets the author role
    $role = get_role( \'subscriber\' );

    $role->add_cap( \'upload_files\' ); 
    $role->add_cap( \'unfiltered_upload\' );
}

add_action( \'admin_init\', \'add_theme_caps\');
add_action( \'init\', \'add_theme_caps\');

SO网友:Mitul

我还没有测试,但下面的代码将帮助您向函数中添加以下两行代码。php文件

$role= get_role([role_name ]);
$role->add_cap(\'upload_files\');

结束

相关推荐

排除Plugins.php HTTP安装路径与单个插件的HTTPS的故障

我正在尝试对插件中显示的安装路径进行故障排除。php作为我在自己的网站上安装的插件,我最初并没有编写该插件。当我的站点的其余部分是HTTPS时,此插件引用和安装的所有资源都会显示为混合内容HTTP。我一直在玩弄下面的代码段,但它似乎没有起到什么作用,也没有解决问题。有人能指出我遗漏了什么吗? /** * registers scripts and stylesheets */ public function register_assets() {&