Vertrauenswürdige WordPress-Tutorials, wenn Sie sie am dringendsten benötigen.
Anfängerleitfaden für WordPress
WPB Cup
25 Millionen+
Websites, die unsere Plugins verwenden
16+
Jahre WordPress-Erfahrung
3000+
WordPress-Tutorials von Experten

Wie schränkt man den Zugriff auf die Mediathek auf die eigenen Uploads eines Benutzers in WordPress ein

Der Betrieb einer WordPress-Website mit mehreren Autoren ist aufregend, bis die Mediathek zu einem freien Durcheinander wird. Wir waren schon dort und wissen, wie frustrierend es ist, wenn ein Autor versehentlich die Bilder eines anderen löscht und kurz vor einem großen Launch Chaos verursacht.

Dies zu verhindern ist einfacher als Sie denken. Sie können einschränken, welche Autoren welche Mediendateien sehen können, und so wieder Ordnung in Ihre Bibliothek bringen.

Obwohl WordPress keine integrierte Einstellung dafür hat, teilen wir Ihnen die einfache Methode mit, die wir in unseren eigenen Projekten verwenden. Sie hilft Ihnen, Ihre Mediendateien organisiert und sicher zu halten.

Wie schränkt man den Zugriff auf die Mediathek auf die eigenen Uploads eines Benutzers in WordPress ein

Warum den Zugriff von Autoren auf Medien-Uploads einschränken?

Wenn Sie einen WordPress-Blog mit mehreren Autoren haben, laden Ihre Autoren möglicherweise viele verschiedene Bilder hoch. Dies kann es einem Autor erschweren, das richtige Bild zu finden, oder er könnte versehentlich die Mediendatei einer anderen Person löschen oder bearbeiten.

Dies kann zu allen möglichen Problemen führen, einschließlich geringer Produktivität, viel zusätzlicher Arbeit für Website-Administratoren und -Redakteure sowie einem komplizierten Redaktionsworkflow.

Dieser unbegrenzte Zugriff kann auch ein Datenschutzproblem darstellen. Wenn Sie beispielsweise an einem neuen Produkt oder einer Blog-Idee arbeiten, könnten andere Autoren vertrauliche Bilder in der Mediathek sehen, bevor Sie eine öffentliche Ankündigung machen.

Wenn Sie eine WordPress-Mitgliedschaftsseite haben, können Mitwirkende möglicherweise sogar über die Mediathek auf Premium-Mediendateien zugreifen.

Nichtsdestotrotz wollen wir uns ansehen, wie man einschränkt, wer Medien-Uploads im Admin-Bereich Ihrer WordPress-Site sehen kann.

Wie man Medien-Uploads von Benutzern mit WPCode organisiert

Während einige Plugins diese Funktion in der Vergangenheit angeboten haben, ist der zuverlässigste und leichtgewichtigste Weg, Benutzer-Uploads zu organisieren, das Hinzufügen eines einfachen Code-Snippets. Keine Sorge, das ist einfacher als es klingt!

Wir werden das kostenlose WPCode-Plugin verwenden, um dies zu tun. Es ist der sicherste und einfachste Weg, benutzerdefinierten Code zu Ihrer WordPress-Site hinzuzufügen, ohne Ihre Theme-Dateien zu bearbeiten.

Wir zeigen Ihnen zwei Code-Snippets, die Sie verwenden können. Das erste Snippet beschränkt den Zugriff auf die Medienbibliothek für alle Nicht-Admin-Benutzer, und das zweite beschränkt den Zugriff für bestimmte Benutzerrollen wie Autoren und Mitwirkende.

Oftentimes, Anleitungen bitten Sie, benutzerdefinierten Code zu Ihrem WordPress-Theme hinzuzufügen. Dies wird jedoch nicht empfohlen, da einfache Fehler oder Tippfehler in Ihrem Code häufige WordPress-Fehler verursachen oder Ihre Website sogar komplett lahmlegen können.

Deshalb empfehlen wir WPCode.

WPCode ist das beste Code-Snippet-Plugin, das von über 1 Million WordPress-Websites verwendet wird. Es macht es einfach, benutzerdefinierten Code in WordPress einzufügen, ohne die functions.php-Datei bearbeiten zu müssen.

Experten-Tipp: Hier bei WPBeginner verwenden wir WPCode, um alle benutzerdefinierten Funktionen auf unserem Portfolio von Websites zu verwalten. Es ermöglicht unserem Entwicklungsteam, Code sicher hinzuzufügen und Fehler zu beheben, ohne jemals die Kern-Theme-Dateien zu berühren, was eine enorme Zeitersparnis ist und kostspielige Fehler verhindert.

Das Erste, was Sie tun müssen, ist das kostenlose WPCode-Plugin zu installieren und zu aktivieren. Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung zur Installation eines WordPress-Plugins.

Gehen Sie nach der Aktivierung zu Code Snippets » Add Snippet.

So fügen Sie benutzerdefinierte PHP-Snippets mit WPCode zu Ihrer Website hinzu

Hier sehen Sie alle fertigen Snippets, die Sie zu Ihrer Website hinzufügen können. Dazu gehören Snippets, mit denen Sie WordPress-Kommentare vollständig deaktivieren, Bildanhangseiten deaktivieren und mehr.

Bewegen Sie einfach Ihre Maus über „Benutzerdefinierten Code hinzufügen“ und wählen Sie dann „Snippet verwenden“.

Hinzufügen eines benutzerdefinierten Code-Snippets zu WordPress

Geben Sie zunächst einen Titel für den benutzerdefinierten Code-Schnipsel ein. Dies kann alles sein, was Ihnen hilft, den Schnipsel im WordPress-Dashboard zu identifizieren.

Öffnen Sie danach das Dropdown-Menü 'Code-Typ' und wählen Sie 'PHP-Snippet'.

Einschränkung des Zugriffs auf die Mediathek mit WPCode

Im Bereich 'Code-Vorschau' können Sie eines der folgenden Code-Snippets einfügen:

Option 1: Einschränkung des Zugriffs auf Mediendateien für Nicht-Admin-WordPress-Benutzer

Dieser Code prüft, ob der aktuelle Benutzer kein Administrator ist. Wenn er kein Administrator ist, filtert er die Mediathek, um nur die Dateien anzuzeigen, die der Benutzer selbst hochgeladen hat.

add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );

function user_show_attachments( $query ) {
    $user_id = get_current_user_id();
    // Check if the current user is not an administrator
    if ( $user_id && !current_user_can('administrator') ) {
        $query['author'] = $user_id;
    }
    return $query;
}

Das bedeutet, dass normale Benutzer nur ihre eigenen Mediendateien sehen und verwalten können, während Administratoren weiterhin alle Dateien sehen und verwalten können.

Option 2: Einschränken des Zugriffs auf Mediendateien für WordPress-Benutzer ohne Berechtigungen zur Beitragsbearbeitung

Dieser Code ist perfekt, wenn Sie möchten, dass Redakteure und Administratoren alle Mediendateien verwalten, während Autoren und Mitwirkende auf ihre eigenen Uploads beschränkt werden.

add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );
 
function user_show_attachments( $query ) {
    $user_id = get_current_user_id();
    // Checks if the current user is logged in (i.e., $user_id is not 0) and does not have the capabilities to activate plugins or edit others' posts.
    if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
        $query['author'] = $user_id;
    }
    return $query;
} 

Es funktioniert, indem es prüft, ob ein Benutzer die Berechtigung edit_others_posts hat, eine Fähigkeit, die Redakteure standardmäßig besitzen, Autoren jedoch nicht.

Scrollen Sie als Nächstes einfach zum Abschnitt „Einfügen“. WPCode kann Ihren Code an verschiedenen Stellen hinzufügen, z. B. nach jedem Beitrag, nur im Frontend oder nur im Admin-Bereich.

Um den benutzerdefinierten PHP-Code auf Ihrer gesamten WordPress-Website zu verwenden, klicken Sie auf „Automatisch einfügen“, falls dies noch nicht ausgewählt ist. Öffnen Sie dann das Dropdown-Menü „Position“ und wählen Sie „Überall ausführen“.

Ausführen von benutzerdefiniertem PHP-Code auf Ihrer Website mit WPCode

Danach können Sie zum oberen Bildschirmrand scrollen und auf den Schalter „Inaktiv“ klicken, damit er zu „Aktiv“ wechselt.

Klicken Sie abschließend auf „Snippet speichern“, um das PHP-Snippet live zu schalten.

Wie man den Zugriff auf Mediendateien per Code einschränkt

Jetzt haben Benutzer nur noch Zugriff auf die Dateien, die sie in die WordPress-Mediathek hochladen.

Häufig gestellte Fragen

Hier sind einige der häufigsten Fragen, die uns zur Organisation von Medien-Uploads in WordPress gestellt werden.

Ist es sicher, benutzerdefinierten Code zu meiner WordPress-Website hinzuzufügen?

Das direkte Hinzufügen von Code zur functions.php-Datei Ihres Themes kann riskant sein. Ein kleiner Tippfehler oder Fehler kann Probleme verursachen oder Ihre Website sogar unzugänglich machen.

Deshalb empfehlen wir dringend die Verwendung des WPCode-Plugins. Es schafft eine sichere Ebene für das Hinzufügen von Snippets, sodass Sie sich keine Sorgen machen müssen, etwas zu beschädigen.

Wird sich das auf die Leistung meiner Website auswirken?

Überhaupt nicht. Der von uns bereitgestellte Code-Schnipsel ist sehr schlank und läuft effizient.

Es fügt nur eine einfache Prüfung hinzu, wenn ein Benutzer auf die Mediathek zugreift, sodass Ihre Website für Ihre Besucher nicht verlangsamt wird.

Kann ich den Medienzugriff für bestimmte Benutzerrollen einschränken?

Ja, absolut! Der Code kann einfach angepasst werden, um eine bestimmte Benutzerrolle anzusprechen. Wenn Sie beispielsweise möchten, dass diese Einschränkung nur für Benutzer mit der Rolle „Autor“ gilt, könnten Sie stattdessen diesen Ausschnitt verwenden:

add_filter( 'ajax_query_attachments_args', 'author_only_show_attachments' );

function author_only_show_attachments( $query ) {
    $user = wp_get_current_user();
    // Check if the current user has the 'author' role
    if ( in_array( 'author', (array) $user->roles ) ) {
        $query['author'] = $user->ID;
    }
    return $query;
}

Erfahren Sie mehr Wege, WordPress-Dateien zu verwalten

Neben der Einschränkung von Medien-Uploads in WordPress sollten Sie sich auch die folgenden Anleitungen ansehen, um Ihre Dateien besser zu verwalten:

Wir hoffen, dieser Artikel hat Ihnen geholfen, Medien-Uploads von Benutzern auf Ihrer WordPress-Site besser zu organisieren. Als Nächstes können Sie sich unsere Expertenauswahl der besten WordPress Slider Plugins und unseren Leitfaden dazu ansehen, wie man Bilder in WordPress einfach Lazy Loadet.

Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, wenn Sie auf einige unserer Links klicken, können wir eine Provision verdienen. Sehen Sie wie WPBeginner finanziert wird, warum das wichtig ist und wie Sie uns unterstützen können. Hier ist unser Redaktionsprozess.

Das ultimative WordPress-Toolkit

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

Leserinteraktionen

13 CommentsLeave a Reply

  1. Jeder, der nach einem Update sucht, sollte Folgendes in Betracht ziehen, das sich um die Listen- und Probleme mit der Rasteransicht kümmert

    // Für Listenansicht
    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);
    }
    }
    }

    // Für die Rasteransicht
    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;
    }

  2. Das Plugin funktioniert, aber wenn Sie zu 'upload.php?mode=list' wechseln, können Sie alle Medien wieder sehen. Es funktioniert nur im Modus 'grid'.

  3. Erstaunlich! Es funktioniert!

    Aber wenn die WordPress-App von Mobilgeräten aus verwendet wird, können alle Benutzer immer noch auf die gesamte Mediathek zugreifen. Gibt es Lösungen?

    Ihre Hilfe wird sehr geschätzt!

    • Wir haben im Moment keine Lösung für die App, aber wir werden sie auf jeden Fall im Auge behalten.

      Admin

  4. Ich suche nach einer Möglichkeit, wie Benutzer direkt von ihrem PC hochladen können, anstatt auf die Medienseite zu gehen

  5. Das ist vielleicht nicht der Beitrag, auf dem ich das fragen sollte, aber...

    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? :)

    Lehrer-Benutzername1- Medien (nur Medien-Dateien von Benutzername1 sehen)
    Lehrer-Benutzername2-Medien (nur Medien-Dateien von Benutzername2 sehen)

  6. Anstatt:

    !current_user_can('activate_plugins')
    &&
    !current_user_can('edit_others_posts')

    VERWENDUNG:

    !current_user_can(‘administrator’)

    Denn wenn Sie zum Beispiel das Plugin 'User Role Editor' verwenden, möchten Sie vielleicht dem aktuellen Benutzer erlauben, Plugins zu aktivieren UND/ODER andere Beiträge zu bearbeiten.

    Just a thought, works for me :)

    Danke für den Beitrag!

  7. Guter Beitrag.

    Und gibt es eine Möglichkeit, das direkte Hochladen von Dateien in die Mediathek zu verbieten und Benutzer (außer Administratoren) zu zwingen, die Schaltfläche „Medium hinzufügen“ im Beitrags-/Seiten-Editor zu verwenden?

Hinterlasse eine Antwort

Vielen Dank, dass Sie einen Kommentar hinterlassen. Bitte beachten Sie, dass alle Kommentare gemäß unserer Kommentarrichtlinie moderiert werden und Ihre E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwenden Sie KEINE Schlüsselwörter im Namensfeld. Führen wir ein persönliches und bedeutungsvolles Gespräch.