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

在 WordPress 的 Media Libaray(媒体库) 中只显示当前用户上传的文件,只需要在当前主题的 functions.php 文件添加下面的代码:

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

//wordpress show only media user has uploaded 
//在文章编辑页面的[添加媒体]只显示用户自己上传的文件
add_action('pre_get_posts','ml_restrict_media_library'); 
 
function ml_restrict_media_library( $wp_query_obj ) { 
    global $current_user, $pagenow; 
    //if( !is_a( $current_user, 'WP_User') ) 
    if ($current_user instanceof WP_User) 
        return; 
    if ( 'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' ) 
        return; 
    if ( !current_user_can('manage_media_library') ) 
        $wp_query_obj->set('author', $current_user->ID ); 
        return; 
}

/在[媒体库]只显示用户上传的文件
function ml_upload_media_library( $wp_query ) {
    if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/upload.php' ) !== false ) {
        if ( !current_user_can( 'manage_options' ) && !current_user_can( 'manage_media_library' ) ) {
            global $current_user;
            $wp_query->set( 'author', $current_user->id );
        }
    }
}
add_filter('parse_query', 'ml_upload_media_library' );

最终效果

给TA买糖
共{{data.count}}人
人已赞赏
wordpress

WordPress主题使用 Server酱 实现评论微信提醒

2020-3-15 22:20:53

wordpress

WordPress 主题 添加短代码(Shortcodes)教程

2020-3-15 23:43:26

⚠️
Golurending上的部份代码及教程来源于互联网,仅供网友学习交流,未经Golurending作者或上传书面授权,请勿作他用。
若您的权利被侵害,请联系站长 邮箱codesns#163.com(#-@) 或 点击右侧 私信:管理员 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索