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

Wie man den Zugriff auf die Medienbibliothek auf eigene Uploads in WordPress beschränkt

Standardmäßig erlaubt WordPress den Autoren, alle Bilder in der Mediathek Ihrer Website zu sehen. Das kann problematisch sein, wenn Sie viele Gastautoren einladen. In diesem Artikel zeigen wir Ihnen, wie Sie den Zugriff auf die WordPress-Mediathek auf die eigenen Uploads der Benutzer beschränken können.

Restrict WordPress media library access to user's own uploads

Warum den Zugriff auf die Mediathek auf benutzereigene Uploads beschränken?

WordPress erlaubt es Autoren, alle Dateien in der Mediathek zu sehen. Sie können auch Bilder sehen, die von einem Administrator, Redakteur oder anderen Autoren hochgeladen wurden.

Weitere Informationen finden Sie in unserem Artikel über WordPress-Benutzerrollen und -Berechtigungen.

Nehmen wir an, Sie erstellen einen neuen Beitrag, um ein neues Produkt oder ein Geschäft anzukündigen. Autoren und Gastautoren auf Ihrer Website können die Bilder sehen, die Sie für diesen Artikel in der Mediathek hochladen.

Ihre Uploads werden auch im Popup-Fenster „Medien hinzufügen“ angezeigt, das die Nutzer sehen, wenn sie Bilder zu ihren eigenen Artikeln hinzufügen.

Für viele Websites mag dies keine große Sache sein. Wenn Sie jedoch eine Website mit mehreren Autoren betreiben, möchten Sie dies vielleicht ändern.

Schauen wir uns an, wie Sie den Zugriff auf die Mediathek ganz einfach auf die eigenen Uploads der Benutzer beschränken können.

Methode 1: Beschränken Sie den Zugriff auf die Mediathek mit einem Plugin

Diese Methode ist einfacher und wird für alle Benutzer empfohlen.

Als Erstes müssen Sie das Plugin “ Restrict Media Library Access “ installieren und aktivieren. Weitere Einzelheiten finden Sie in unserer Schritt-für-Schritt-Anleitung für die Installation eines WordPress-Plugins.

Dieses Plugin ist sofort einsatzbereit und es gibt keine Einstellungen, die Sie vornehmen müssen.

Nach der Aktivierung filtert es die Abfrage der Medienbibliothek, um zu sehen, ob der aktuelle Benutzer ein Administrator oder ein Redakteur ist. Wenn die Benutzerrolle nicht mit einer der beiden übereinstimmt, werden nur die eigenen Uploads des Benutzers angezeigt.

Benutzer mit der Benutzerrolle Administrator oder Redakteur können wie gewohnt alle Medien-Uploads sehen.

Methode 2: Manuelle Einschränkung des Zugriffs auf die Medienbibliothek

Die erste Methode eignet sich für die meisten Websites, da sie den Zugriff auf die Medienbibliothek einschränkt und nur dem Administrator und dem Redakteur erlaubt, alle Medien-Uploads zu sehen.

Wenn Sie jedoch eine benutzerdefinierte Benutzerrolle hinzufügen möchten oder einfach kein Plugin verwenden möchten, können Sie stattdessen diese Methode ausprobieren. Sie verwendet denselben Code wie das Plugin, aber Sie können ihn an Ihre Bedürfnisse anpassen.

Bei dieser Methode müssen Sie Code zu Ihren WordPress-Dateien hinzufügen. Wenn Sie dies noch nicht getan haben, werfen Sie einen Blick auf unsere Anleitung zum Kopieren und Einfügen von Code in WordPress.

Sie müssen den folgenden Code in die Datei functions.php von WordPress oder in ein Site-spezifisches Plugin einfügen.

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

Dieser Code verwendet die Funktion current_user_can, um zu prüfen, ob der Benutzer die Fähigkeit hat, Plugins zu aktivieren oder die Beiträge anderer Benutzer zu bearbeiten. Wenn dies nicht der Fall ist, wird die Abfrage zur Anzeige von Mediendateien geändert und auf die ID des Benutzers beschränkt.

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, den Zugriff auf die WordPress-Mediathek auf die eigenen Uploads des Benutzers zu beschränken. Möglicherweise möchten Sie auch Autoren auf ihre eigenen Beiträge im WordPress-Administrationsbereich beschränken.

Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, dass wir möglicherweise eine Provision verdienen, wenn Sie auf einige unserer Links klicken. Mehr dazu erfahren Sie unter Wie WPBeginner finanziert wird , warum das wichtig ist und wie Sie uns unterstützen können. Hier finden Sie unseren redaktionellen Prozess .

Das ultimative WordPress Toolkit

Erhalte KOSTENLOSEN Zugang zu unserem Toolkit - eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Reader Interactions

13 KommentareEine Antwort hinterlassen

  1. Noel Williams

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

    • WPBeginner Support

      Thank you for sharing this :)

      Admin

  2. Bruno

    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

    • WPBeginner Support

      Thank you for sharing this information :)

      Admin

  3. nathan

    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

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

      Admin

  4. Alvaro Gomez

    Thank you for mentioning my plugin :)

    • WPBeginner Support

      Thank you for creating the plugin and placing it on the WordPress.org repo :)

      Admin

  5. Daniel

    Am looking for away i can make user upload directly from their pc instead of going to media page

  6. kim

    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)

  7. Hugh

    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!

  8. Peter

    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?

Eine Antwort hinterlassen

Danke, dass du einen Kommentar hinterlassen möchtest. Bitte beachte, dass alle Kommentare nach unseren kommentarpolitik moderiert werden und deine E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwende KEINE Schlüsselwörter im Namensfeld. Lass uns ein persönliches und sinnvolles Gespräch führen.