默认情况下,WordPress 允许作者查看您网站媒体库中的所有图像。如果您邀请很多客座作者,这可能会出现问题。在本文中,我们将向您展示如何限制 WordPress 媒体库对用户自己上传的访问。
为什么要限制媒体库访问用户自己上传的内容?
WordPress 允许作者查看媒体库中的所有文件。他们还可以查看管理员、编辑或其他作者上传的图像。
要了解更多信息,请参阅有关WordPress 用户角色和权限的文章。
假设您正在创建一个新帖子来宣布即将推出的产品或交易。您网站上的作者和客座作者将能够在媒体库中看到您上传到该文章的图像。
您上传的内容也将显示在“添加媒体”弹出窗口中,用户在将图像添加到自己的文章中时会看到该弹出窗口。
对于许多网站来说,这可能不是什么大问题。但是,如果您运行一个多作者网站,那么您可能需要更改此设置。
让我们看一下如何轻松限制媒体库访问用户自己的上传内容。
方法 1:使用插件限制媒体库访问
此方法更简单,建议所有用户使用。
您需要做的第一件事是安装并激活限制媒体库访问插件。有关更多详细信息,请参阅我们有关如何安装 WordPress 插件的分步指南。
该插件开箱即用,无需您配置任何设置。
激活后,它会过滤媒体库查询以查看当前用户是否是管理员或编辑者。如果用户角色与其中任何一个都不匹配,则只会显示用户自己的上传内容。
具有管理员或编辑者用户角色的用户将能够照常查看所有上传的媒体。
方法 2:手动限制媒体库访问
第一种方法适用于大多数网站,因为它限制媒体库访问,并且仅允许管理员和编辑者查看所有上传的媒体。
但是,如果您想添加自定义用户角色或只是不想使用插件,那么您可以尝试此方法。它使用与插件相同的代码,但您可以对其进行修改以满足您的需求。
此方法需要您将代码添加到 WordPress 文件中。如果您以前没有这样做过,请查看我们有关如何在 WordPress 中复制和粘贴代码的指南。
您需要将以下代码添加到 WordPress function.php文件或特定于站点的插件中。
123456789101112 | // Limit media library access add_filter( 'ajax_query_attachments_args' , 'wpb_show_current_user_attachments' ); function wpb_show_current_user_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 ; } |
由
此代码使用 current_user_can 函数来检查用户是否有能力激活插件或编辑其他用户的帖子。如果不这样做,则会更改用于显示媒体文件的查询并将其限制为用户 ID。
我们希望本文能帮助您了解如何限制 WordPress 媒体库对用户自己上传的访问。您可能还想限制作者在 WordPress 管理区域中发表自己的帖子。