如何在WordPress中创建文件存档?

时间:2013-04-19 作者:jcora

我已经为我的学校网站安装了WordPress。

我需要创建一个文件档案,一个上传和网站的文件查看器。文件归档将在服务器上存储文件。上传器允许用户上传文件并标记它们。文件查看器允许用户使用标签查看和下载文件。

上载程序和查看器都必须集成到页面中。我正在寻找一种在管理面板中显示查看器结果的方法,但它必须直观且易于使用。

该网站的所有注册用户都应该能够查看和下载文件。只有拥有特定文件上传权限的用户才能上传。

我不确定我想要的东西是否可以通过内置媒体存档来实现。我不仅想上传媒体,还想上传其他文件类型,如文档、程序等。

有没有办法让注册用户不使用管理面板上传文件,而只使用网站本身?

所有文件的下载链接也必须自动包含在下载页面中。某种形式的文件管理器也很好。

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

这实际上是两个问题。第二个问题–如何向附件添加类别–is already answered.

如何将上传附件限制为特定角色?

执行此操作的功能名为upload_files 在WordPress中。默认情况下,某些角色具有此功能:作者、编辑、管理员。

我会把它限制在编辑和管理员的范围内。您可以使用run once插件:

<?php
/* Plugin Name: Change Roles */

add_action( \'admin_notices\', \'t5_change_roles\', 0 );

// Fires on the plugin activation screen just once.
function t5_change_roles()
{
    global $wp_roles;

    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles;

    $existing_roles = get_editable_roles();

    foreach ( $existing_roles as $name => $role )
    {
        if ( \'administrator\' === $name )
            continue;

        if ( \'editor\' === $name )
            continue;

        $wp_roles->remove_cap( $name, \'upload_files\' );
    }

    // Suppress "Plugin activated" notice.
    unset( $_GET[\'activate\'] );

    print \'<div class="updated"><p>Roles are updated, plugin deactivated.</p></div>\';
}
但是你也可以使用一个插件,比如Members 并编辑每个用户界面的角色:

enter image description here

结束