如何轻松在WordPress中按用户整理媒体上传

08/02/2023

为何限制作者对媒体上传的访问?

在多作者WordPress博客中,不同作者可能会上传各类图片。这使得作者难以找到正确的图片,甚至可能错误地删除或编辑他人的媒体文件。这会导致生产力下降、附加工作量增加以及给站点管理员和编辑带来额外负担。

这样的无限访问也可能引发隐私问题。例如,在筹备新产品或博客文章时,其他作者会在你宣布前看到机密图片。如果你有一个WordPress会员站点,贡献者甚至可能通过媒体库访问到付费媒体文件。

如何使用WPCode按用户整理媒体上传

我们曾找到一个插件,阻止没有编辑权限的用户访问他人的媒体文件。尽管该插件好用,但已不再更新。此外,该插件存在限制,只能阻止没有edit_others_posts权限的用户(如站点管理员和编辑)访问他人文件。

如需限制所有用户(除你自己外)访问他人媒体文件,可以为WordPress博客添加自定义代码。我们会展示两段代码:一段限制非管理员用户的媒体访问,另一段限制无edit_others_posts权限用户。

通常,指南会建议你向WordPress主题添加代码,但我们不推荐这样做,因为代码中的简单错误可能导致WordPress错误或网站崩溃。因此,我们推荐使用WPCode。

WPCode简介

WPCode是超过一百万个WordPress网站使用的最佳代码片段插件,能轻松添加自定义代码而无需编辑functions.php文件。

步骤

首先安装并激活免费的WPCode插件。然后,进入Code Snippets » Add Snippet。在这里,你会看到可以添加到网站上的预制代码片段。只需将鼠标悬停在‘Add Your Custom Code’上,然后选择‘Use snippet’。

为自定义代码片段输入标题,然后在‘Code Type’下拉菜单中选择‘PHP Snippet’。

在‘Code Preview’区域,你可以粘贴以下代码片段:

选项1:限制非管理员WordPress用户访问媒体文件

add_filter('ajax_query_attachments_args', 'user_show_attachments'); function user_show_attachments($query) { $user_id = get_current_user_id(); if ($user_id && !current_user_can('administrator')) { $query['author'] = $user_id; } return $query; }

该代码会检查当前用户是否非管理员。如果不是管理员,它会将媒体库限制为只显示用户自己上传的文件。

选项2:限制无文章编辑权限的WordPress用户访问媒体文件

add_filter('ajax_query_attachments_args', 'user_show_attachments'); function user_show_attachments($query) { $user_id = get_current_user_id(); if ($user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts')) { $query['author'] = $user_id; } return $query; }

这一代码更为具体。它检查当前用户是否登录且无激活插件或编辑他人文章权限。如果符合这些条件,用户只能看到并管理自己上传的文件。

接下来,滚动到‘Insertion’部分。WPCode可以将代码添加到不同位置。要在整个WordPress网站上使用PHP代码,请选择‘Auto Insert’,然后选择‘Run Everywhere’。

设置完成后,滚动到顶部,将‘Inactive’切换为‘Active’,最后点击‘Save Snippet’使代码生效。

现在,用户将仅能够访问他们在WordPress媒体库上传的文件。

了解更多管理WordPress文件的方法

除了在WordPress中限制媒体上传之外,你可能还想查看以下指南以更好管理文件:

  • 如何在WordPress中重命名图片和媒体文件
  • WordPress最佳Dropbox插件(专家选择)
  • 如何在WordPress中创建额外的图片尺寸
  • 如何强制执行WordPress中的清洁图片文件名(简单方法)
  • 如何清理你的WordPress媒体库
  • 如何更改WordPress的默认媒体上传位置


Related Posts

  • 2025-01-31
  • WordPress 插件

通知评论者他们的评论已获批准是在您的网站上鼓励对话的简单而有效的方法。然而,WordPress 默认情况下不会在评论发布时通知用户,这可能导致他们对评论的状态感到困惑。有许多网站拥有者问我们如何解决此问题,因此我们编写了这篇指南来帮助您!在这篇文章中,我们将展示如何轻松通知用户他们的评论已在 WordPress 中被批准,以保持互动积极并吸引更多观众参与。

閱讀更多
  • 2025-01-31
  • WordPress 插件

想知道我们在 WPressize Me 如何通过添加标题属性和 nofollow 标签来改善用户体验和SEO吗?默认的 WordPress 编辑器并不容易提供这些选项。本文将为您简要介绍如何在 WordPress 的插入链接弹出窗口中为链接添加标题和 nofollow 属性选项,以便简化工作流程和提升您的SEO努力。

閱讀更多
  • 2025-01-28
  • WordPress 插件

你是否想在你的WordPress网站上启用Imagick?大多数情况,WordPress会自动使用Imagick来管理所有网站的图像。然而,通过调整默认的Imagick设置,你可以提高网站性能或向访客展示更高质量的图像。在本文中,我们将展示如何在你的WordPress网站上启用Imagick,并自定义其设置以改善访客体验。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>