WordPress 媒体库只显示用户自己上传的文件

今天分享下在 WordPress 媒体库只显示用户自己上传的文件 的方法。在当前主题的 functions.php 文件添加下面的代码:

  1. /**
  2. * WordPress 媒体库只显示用户自己上传的文件
  3. * https://www.wpdaxue.com/view-user-own-media-only.html
  4. */
  5. //在文章编辑页面的[添加媒体]只显示用户自己上传的文件
  6. function my_upload_media( $wp_query_obj ) {
  7. global $current_user, $pagenow;
  8. if( !is_a( $current_user, 'WP_User') )
  9. return;
  10. if( 'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' )
  11. return;
  12. if( !current_user_can( 'manage_options' ) && !current_user_can('manage_media_library') )
  13. $wp_query_obj->set('author', $current_user->ID );
  14. return;
  15. }
  16. add_action('pre_get_posts','my_upload_media');
  17.  
  18. //在[媒体库]只显示用户上传的文件
  19. function my_media_library( $wp_query ) {
  20. if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/upload.php' ) !== false ) {
  21. if ( !current_user_can( 'manage_options' ) && !current_user_can( 'manage_media_library' ) ) {
  22. global $current_user;
  23. $wp_query->set( 'author', $current_user->id );
  24. }
  25. }
  26. }
  27. add_filter('parse_query', 'my_media_library' );

最终效果:非管理员用户 在文章编辑页面的[添加媒体]窗口(下图1) 和 多媒体 管理界面(下图2)只显示自己上传的文件(还不能修正媒体数量显示)

 

主机差评君首发于zhuji188.com,转发请标明来源https://zhuji188.com/156.html
THE END
分享
二维码
< <上一篇
下一篇>>