Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Så här begränsar du åtkomsten till mediabiblioteket till användarens egna uppladdningar i WordPress

Som standard tillåter WordPress auktoriseringar att se alla images på din sites mediabibliotek. Detta kan vara problematiskt om du bjuder in många gästförfattare. I den här artikeln visar vi dig hur du begränsar åtkomsten till WordPress mediabibliotek till användarens egna uppladdningar.

Restrict WordPress media library access to user's own uploads

Varför begränsa åtkomsten till mediabiblioteket till användarens egna uppladdningar?

WordPress allow authors att se alla filer i mediabiblioteket. De kan också se images som har laddats upp av en administratör, editor eller andra författare.

Mer information finns i vår artikel om roller och behörigheter för WordPress-användare.

Låt oss säga att du skapar en new post för att tillkännage en kommande produkt eller affär. Författare och gästförfattare på din website kommer att kunna se de images du uploadar till den artikeln i mediabiblioteket.

Dina uppladdningar kommer också att synas i popupen ”Add Media” som användare ser när de lägger till images i sina egna artiklar.

För många websites kanske det här inte är någon stor sak. Men om du run en multi-author website, då kanske du vill ändra detta.

Låt oss ta en titt på hur du enkelt begränsar åtkomsten till mediabiblioteket till användarnas egna uppladdningar.

Metod 1: Begränsa åtkomst till mediabibliotek med ett tillägg

Den här metoden är enklare och rekommenderas för alla användare.

Det första du behöver göra är att installera och aktivera tillägget Begränsa åtkomst till mediabibliotek. För mer detaljer, se vår steg-för-steg guide om hur du installerar ett plugin för WordPress.

Det här pluginet fungerar direkt från boxen och det finns inga inställningar som du behöver konfigurera.

Vid aktivering filtrerar det mediabibliotekets sökning för att se om den aktuella användaren är administratör eller editor. Om användarens roll inte matchar någon av dem, kommer det bara att visa användarens egna uppladdningar.

Användare med användarrollen administratör eller editor kommer att kunna se alla mediauppladdare som vanligt.

Metod 2: Begränsa åtkomsten till mediabiblioteket manuellt

Den första metoden skulle fungera för de flesta webbplatser eftersom den begränsar åtkomst till mediabibliotek och endast tillåter administratör och editor att se alla mediauppladdningar.

Men om du vill add to en custom användares roll eller helt enkelt inte vill använda ett plugin, kan du prova den här metoden istället. Den använder samma kod som används av pluginet, men du kommer att kunna ändra den för att möta dina behov.

Den här metoden är obligatorisk för att du ska kunna add to kod i dina WordPress-filer. Om du inte har gjort det tidigare kan du ta en titt på vår guide om hur du copy and paste kod i WordPress.

Du måste add to följande kod till din WordPress functions.php-fil eller ett site-specifikt plugin.

// 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;
} 

Den här koden använder funktionen current_user_can för att kontrollera om användaren har capability att aktivera tillägg eller editera andra användares posts. Om de inte gör det ändras den sökning som används för att visa media filer och limit den till användarens ID.

Vi hoppas att den här artikeln hjälpte dig att lära dig hur du begränsar åtkomsten till WordPress mediabibliotek till användarens egna uppladdningar. Du kanske också vill limitera författare till sina egna posts i WordPress admin area.

Om du gillade den här artikeln, vänligen prenumerera på vår YouTube-kanal för WordPress video tutorials. Du kan också hitta oss på Twitter och Facebook.

Avslöjande: Vårt innehåll stöds av våra läsare. Det innebär att om du klickar på några av våra länkar, kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt, och hur du kan stödja oss. Här är vår editoriala process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Den ultimata WordPress-verktygslådan

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som varje professionell användare bör ha!

Reader Interactions

14 kommentarerLämna ett svar

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Noel Williams says

    Anyone looking for an update might want to consider the following which takes care of the list and grid issues

    // For list view
    add_action( ’pre_get_posts’, ’wpb_show_current_user_attachments_list_view’ );
    function wpb_show_current_user_attachments_list_view( $query ) {
    if ( is_admin() && $query->is_main_query() && $query->get(’post_type’) === ’attachment’ ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can(’administrator’) ) {
    $query->set(’author’, $user_id);
    }
    }
    }

    // For grid view
    add_filter( ’ajax_query_attachments_args’, ’wpb_show_current_user_attachments_grid_view’ );
    function wpb_show_current_user_attachments_grid_view( $query ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can(’administrator’) ) {
    $query[’author’] = $user_id;
    }
    return $query;
    }

  3. Bruno says

    The plugin works, but If you switch to ’upload.php?mode=list’ it’s possible to see all medias again. It works only on the mode=grid

  4. nathan says

    Amazing ! Its working !

    But if using wordpress app installed from mobile, all users still can access whole media library. Any solutions?

    Your help is much appreciated !

    • WPBeginner Support says

      We do not have a solution for the app at the moment but we will certainly keep an eye out.

      Administratör

  5. kim says

    This may not be the post I need to be asking this on but….

    What if you create a role for say, teacher. Is there a way or plugin that would filter so that one teacher can’t see another teacher media files? If that makes sense? :)

    Teacher-username1- media (only see username1 media files)
    Teacher-username2-media (only see username2 media files)

  6. Hugh says

    Instead of:

    !current_user_can(’activate_plugins’)
    &&
    !current_user_can(’edit_others_posts’)

    USE:

    !current_user_can(’administrator’)

    Because if for example you use the ’User Role Editor’ plugin, you might want to allow the current user to be able to activate plugins AND/OR edit others posts.

    Just a thought, works for me :)

    Thanks for the post!

  7. Peter says

    Nice post.

    And is there a way to disallow uploading files directly to the media library and force users (except admins) to use Add Media button within post/page editor?

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt våra policy för kommentarer, och din e-postadress kommer INTE att publiceras. Vänligen använd INTE nyckelord i namnfältet. Låt oss ha en personlig och meningsfull konversation.