wordpress知识库
网站首页 > 知识库 > wordpress知识 >

wordpress编辑用户只能看到自己上传的媒体库文件

2014/07/03

要让WordPress编辑用户只能看到自己上传的媒体库文件,可以使用过滤器来修改默认的媒体查询。通过在functions.php文件中添加以下代码,可以限制编辑用户只能查看和管理自己上传的媒体文件:

function restrict_media_library( $wp_query ) {
    // 获取当前登录用户的ID
    $current_user_id = get_current_user_id();

    // 如果是管理员或超级管理员,则不进行任何限制
    if ( current_user_can( 'manage_options' ) ) {
        return;
    }

    // 限制媒体查询只返回当前用户上传的文件
    $wp_query->set( 'author', $current_user_id );
}
add_action( 'pre_get_posts', 'restrict_media_library' );

上述代码将pre_get_posts钩子与restrict_media_library函数关联,该函数会修改媒体查询以仅返回当前登录用户上传的媒体文件。

请注意,这段代码会在所有媒体查询中应用此限制,包括后台媒体库页面和媒体插入对话框等。这种限制并不会阻止其他用户直接访问和查看非私有的媒体文件URL。如果需要更严格的限制,请考虑使用第三方插件或自定义开发来实现更精细的控制。

另外,确保将上述代码添加到主题的functions.php文件中,或者使用一个自定义wordpress插件来添加这个功能。