如何轻松在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

  • 2024-11-15
  • WordPress 插件

您不希望访客单击其他网站的链接后就此离开您的网站。这就是为什么在新窗口或标签中打开外部链接对于提供流畅用户体验至关重要。在WPressize Me,我们认真对待读者的参与度。我们确保网站上的所有外部链接都在新标签页中打开,这样读者可以在不丢失原位的情况下浏览内容。这篇初学者指南将教您如何轻松在WordPress中设置外部链接在新标签中打开,从而提升用户参与度并令读者满意。

閱讀更多
  • 2024-11-14
  • WordPress 插件

Authorize.net一直是在线支付界值得信赖的名字,为企业提供安全可靠的信用卡交易方式。然而,市场上有许多不同功能的Authorize.net插件,因此选择适合您业务需求的插件并不容易。在本文中,我们将比较一些最佳的Authorize.net WordPress插件,以便您可以做出明智的选择。

閱讀更多
  • 2024-11-07
  • WordPress 插件

WPressize Me 自2009年以来一直在创建内容,因此我们了解在有多个作者和编辑时,保持内容变化信息的重要性。WordPress默认情况下不发送文章更改的邮件通知,设置这些通知可以帮助您控制网站内容。这使您能够快速查看更新、跟踪编辑,并了解网站整体内容流向。本文将向您展示如何在WordPress中获取文章更改的邮件通知。

閱讀更多

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