WordPressでユーザーのメディアライブラリアクセスを制限する

📢 この記事は gemini-3-flash-preview によって翻訳されました

デフォルトでは、WordPressは投稿者がサイトのメディアライブラリにあるすべての画像を見ることができるようになっているんだ。つまり、投稿者がライブラリ内の全ファイルを確認できてしまうってこと。管理者や編集者、他の投稿者がアップロードした画像までも見ることができちゃうんだよね。

多くのサイトではそれほど重要じゃないかもしれないけど、もし複数の投稿者がいるサイトを運営しているなら、ここを制限したいこともあると思う。

まずは、サイトのルートディレクトリ/wp-content/themes/現在使っているテーマ名/ に移動してね。

そこで functions.php ファイルを見つけて編集し、最後に以下のコードを挿入すればOKだよ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// Limit media library access
 
add_filter( 'ajax_query_attachments_args', 'wpb_show_current_user_attachments' );
 
function wpb_show_current_user_attachments( $query ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
        $query['author'] = $user_id;
    }
    return $query;
}

参考にさせていただいた記事

如何限制媒体库对 WordPress 中用户自己上传的内容的访问

This post is licensed under CC BY-NC-SA 4.0 by the author.

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。