限制WordPress用户只能查看编辑自己上传的媒体文件

在上一篇文章《wordpress 主题前端投稿允许订阅者上传图片》中我们为订阅者角色添加了前台投稿可以上传图片的功能,但是这就存在了一个安全隐患,就是投稿者点击添加媒体按钮后,可以看到网站所有的媒体文件,并且可以对媒体文件做任何操作,为了避免用户删除网站的媒体文件,我们需要对用户上传媒体文件做相关限制,让用户上传媒体文件的时候只能看到自己上传的媒体文件,这其实很简单,只需要将下面的代码放到您的主题 functions.php 文件中就行了。

  1. //在[媒体库]只显示用户上传的文件
  2. function my_media_library( $wp_query ) {
  3. if ( strpos( $_SERVER[ ‘REQUEST_URI’ ], ‘/wp-admin/upload.php’ ) !== false ) {
  4. if ( !current_user_can( ‘manage_options’ ) && !current_user_can( ‘manage_media_library’ ) ) {
  5. global $current_user;
  6. $wp_query->set( ‘author’, $current_user->id );
  7. }
  8. }
  9. }
  10. add_filter(‘parse_query’, ‘my_media_library’ );

发表评论

电子邮件地址不会被公开。 必填项已用*标注

滚动到顶部