我在我的平台中有4个角色:管理员,作者,编辑,外部
我需要限制WordPress媒体库对用户自己上传的访问权限,只对我平台上的一个用户角色(外部)进行访问。The外部用户角色只能看到/选择自己的媒体。
所有其他角色仍然可以访问库中的所有媒体。
我发现了下面的代码片段,但它对所有用户都有效:
谢谢您的答复。
发布于 2021-11-11 22:51:43
将其添加到您的functions.php或代码片段中,使用此代码,具有角色外部的用户只会看到他们自己的上传,任何其他角色都会看到他们之前的情况。
add_filter( 'ajax_query_attachments_args', 'role_external' );
function role_external( $query ) {
$user_id = get_current_user_id();
if ( $user_id && current_user_can('external') ) {
$query['author'] = $user_id;
}
return $query;
}发布于 2021-11-12 18:59:40
若要保护图像文件夹,请使用以下命令
在站点文件夹中添加一个简单的.htaccess文件,如下所示
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www\.your-domain\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www\.your-domain\.com$ [NC]
RewriteRule .*\.(wav|swf|jpg|jpeg|gif|png|bmp|js|css)$ - [F,NC,L]注意,我还添加了js和css文件,即使我认为是bizzare来找到试图刮掉它们的人。
这个答案可以找到这里
https://wordpress.stackexchange.com/questions/397814
复制相似问题