首页 > CMS > Wordpress > 正文

WordPress 多媒体库只显示当前用户上传的文件

2024-09-07 00:50:22
字体:
来源:转载
供稿:网友

在 wordpress 的 media library 里只显示当前用户上传的文件,也试用于 acf_form,代码如下:

  1. //wordpress show only media user has uploaded 
  2. add_action('pre_get_posts','ml_restrict_media_library'); 
  3.  
  4. function ml_restrict_media_library( $wp_query_obj ) { 
  5.     global $current_user$pagenow
  6.     if( !is_a$current_user'WP_User') ) 
  7.         return
  8.     if'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' ) 
  9.         return
  10.     if( !current_user_can('manage_media_library') ) 
  11.         $wp_query_obj->set('author'$current_user->ID ); 
  12.         return

is_a() 函数已废弃,自 PHP 5 起使用 instanceof 类型运算符,上例在 PHP 5 中会是这样,代码如下:

  1. //wordpress show only media user has uploaded 
  2. add_action('pre_get_posts','ml_restrict_media_library'); 
  3.  
  4. function ml_restrict_media_library( $wp_query_obj ) { 
  5.     global $current_user$pagenow
  6.     //if( !is_a( $current_user, 'WP_User') ) 
  7.     if ($current_user instanceof WP_User) 
  8.         return
  9.     if ( 'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' ) 
  10.         return
  11.     if ( !current_user_can('manage_media_library') ) 
  12.         $wp_query_obj->set('author'$current_user->ID ); 
  13.         return

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表