Nachdem wir jahrelang einen Blog mit mehreren Autoren betrieben haben, haben wir festgestellt, dass es Situationen gibt, in denen die Organisation von Medien-Uploads nach Benutzern wichtig wird. Wir haben die Erfahrung gemacht, dass mit einem wachsenden Team von Mitwirkenden auch das Potenzial für ein Chaos in der Medienverwaltung wächst.
Wir sind auf Szenarien gestoßen, in denen Autoren versehentlich die Bilder der anderen geändert oder gelöscht haben, was zu fehlerhaften Beiträgen führte. In einem Fall führte ein falscher Klick zur Löschung eines wichtigen Bildes, wodurch sich die Veröffentlichung eines wichtigen Artikels verzögerte.
Um dies zu verhindern, können Sie den Upload von Medien durch Benutzer in WordPress einschränken oder organisieren. Diese Funktion wird standardmäßig nicht angeboten, daher zeigen wir Ihnen, wie Sie dies am besten bewerkstelligen können.
Warum den Autorenzugang zu Medien-Uploads einschränken?
Wenn Sie einen WordPress-Blog mit mehreren Autoren haben, laden Ihre Autoren möglicherweise viele verschiedene Bilder hoch. Das kann es für einen Autor schwierig machen, das richtige Bild zu finden, oder er könnte die Mediendatei einer anderen Person versehentlich löschen oder bearbeiten.
Dies kann zu allen möglichen Problemen führen, z. B. zu geringer Produktivität, viel zusätzlicher Arbeit für Website-Administratoren und -Redakteure und einem komplizierten Redaktionsablauf.
Dieser unbegrenzte Zugriff kann auch ein Problem für den Datenschutz darstellen. Wenn Sie beispielsweise an einem neuen Produkt oder einer Blogpost-Idee arbeiten, könnten andere Autoren vertrauliche Bilder in der Mediathek sehen, bevor Sie eine öffentliche Ankündigung machen.
Wenn Sie eine WordPress-Mitgliedswebsite haben, können Beitragszahler möglicherweise sogar über die Medienbibliothek auf Premium-Mediendateien zugreifen.
Schauen wir uns also an, wie Sie die Anzeige von Medien-Uploads in Ihrem WordPress-Administrationsbereich einschränken können.
Wie man mit WPCode Medien-Uploads nach Benutzern organisiert
Damals fanden wir ein Plugin, mit dem Sie Benutzer ohne Post-Editing-Berechtigung daran hindern konnten, auf die Dateien anderer Benutzer in der WordPress-Mediathek zuzugreifen. Dieses Plugin war zwar einfach zu verwenden, wird aber nicht mehr aktualisiert.
Außerdem kann das Plugin ziemlich eingeschränkt sein, da Sie nur Benutzer ohne die Berechtigung edit_others_posts
(Site-Administratoren und Redakteure) daran hindern können, auf die Mediendateien anderer Benutzer zuzugreifen.
Wenn Sie ein Website-Administrator sind, kann es vorkommen, dass Sie allen Benutzern (außer sich selbst) den Zugriff auf die Mediendateien anderer Personen verwehren wollen.
In diesem Fall können Sie stattdessen benutzerdefinierten Code zu Ihrem WordPress-Blog hinzufügen. Wir zeigen Ihnen zwei Codeschnipsel: einen, der den Zugriff auf Mediendateien für Nicht-Admin-Benutzer einschränkt, und den anderen für Benutzer ohne die Berechtigung edit_others_posts
.
Oft werden Sie in Anleitungen aufgefordert, benutzerdefinierten Code zu Ihrem WordPress-Theme hinzuzufügen. Dies ist jedoch nicht empfehlenswert, da einfache Fehler oder Tippfehler in Ihrem Code zu häufigen WordPress-Fehlern führen oder sogar Ihre Website komplett zerstören können.
Deshalb empfehlen wir WPCode.
WPCode ist das beste Code-Snippets-Plugin, das von über 1 Million WordPress-Websites verwendet wird. Es macht es einfach, benutzerdefinierten Code in WordPress hinzuzufügen, ohne die Datei functions.php bearbeiten zu müssen.
Als Erstes müssen Sie das kostenlose WPCode-Plugin installieren und aktivieren. Weitere Einzelheiten finden Sie in unserer Schritt-für-Schritt-Anleitung für die Installation eines WordPress-Plugins.
Nach der Aktivierung gehen Sie zu Code Snippets “ Snippet hinzufügen.
Hier sehen Sie alle vorgefertigten Snippets, die Sie zu Ihrer Website hinzufügen können. Dazu gehören Snippets, mit denen Sie WordPress-Kommentare vollständig deaktivieren können, Seiten mit Bildanhängen deaktivieren können und vieles mehr.
Bewegen Sie den Mauszeiger einfach über „Benutzerdefinierten Code hinzufügen“ und wählen Sie dann „Snippet verwenden“.
Geben Sie zunächst einen Titel für das benutzerdefinierte Code-Snippet ein. Dies kann alles sein, was Ihnen hilft, das Snippet im WordPress-Dashboard zu identifizieren.
Öffnen Sie anschließend das Dropdown-Menü „Code-Typ“ und wählen Sie „PHP Snippet“.
Im Bereich „Codevorschau“ können Sie einen der folgenden Codeschnipsel einfügen:
Option 1: Einschränkung des Zugriffs auf Mediendateien für Nicht-Admin-WordPress-Benutzer
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;
}
Dieser Code prüft, ob der aktuelle Benutzer kein Administrator ist. Ist dies nicht der Fall, wird die Medienbibliothek so gefiltert, dass nur die Dateien angezeigt werden, die der Benutzer selbst hochgeladen hat.
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änkung des Zugriffs auf Mediendateien für WordPress-Benutzer ohne Post-Editing-Berechtigung
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;
}
Dieser Code ist ein wenig spezifischer. Er prüft, ob der aktuelle Benutzer angemeldet ist und nicht die Berechtigung hat, Plugins zu aktivieren oder die Beiträge anderer Personen zu bearbeiten. Wenn ein Benutzer diese Bedingungen erfüllt, kann er nur seine eigenen Mediendateien sehen und verwalten.
So können Administratoren und Redakteure alle Dateien sehen, während Autoren und Mitwirkende nur auf ihre eigenen Uploads zugreifen können.
Blättern Sie dann zum Abschnitt „Einfügen“. WPCode kann Ihren Code an verschiedenen Stellen einfügen, z. B. nach jedem Beitrag, nur im Frontend oder nur im Adminbereich.
Um den benutzerdefinierten PHP-Code auf Ihrer gesamten WordPress-Website zu verwenden, klicken Sie auf „Automatisch einfügen“, falls dies nicht bereits ausgewählt ist. Öffnen Sie dann das Dropdown-Menü „Standort“ und wählen Sie „Überall ausführen“.
Danach können Sie zum oberen Rand des Bildschirms scrollen und auf den Schalter „Inaktiv“ klicken, damit er sich in „Aktiv“ ändert.
Klicken Sie abschließend auf „Snippet speichern“, um das PHP-Snippet zu aktivieren.
Jetzt haben die Benutzer nur noch Zugriff auf die Dateien, die sie in die WordPress-Mediathek hochladen.
Erfahren Sie mehr über die Verwaltung von WordPress-Dateien
Neben der Einschränkung von Medien-Uploads in WordPress sollten Sie sich auch die folgenden Anleitungen ansehen, um Ihre Dateien besser zu verwalten:
- Wie man Bilder und Mediendateien in WordPress umbenennt
- Beste Dropbox-Plugins für WordPress (Expertenauswahl)
- Wie man zusätzliche Bildgrößen in WordPress erstellt
- Wie man saubere Bilddateinamen in WordPress erzwingt (einfache Methode)
- Wie Sie Ihre WordPress-Medienbibliothek aufräumen
- Ändern des Standard-Speicherorts für Medien-Uploads in WordPress
Wir hoffen, dass dieser Artikel Ihnen geholfen hat, die Medien-Uploads der Nutzer auf Ihrer WordPress-Website besser zu organisieren. Als Nächstes können Sie sich unsere Expertenauswahl der besten WordPress-Slider-Plugins und unsere Anleitung zum einfachen Lazy-Load von Bildern in WordPress ansehen.
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.
Joshua Owolabi
I really enjoy all your tutorials kudos to you.
Although I am unable to use to build something due to lack of resources but you are WELDONE
WPBeginner Support
Glad our tutorials are helpful
Admin
Teddu
I would like users to be able to upload content, and once its approved go onto a new page. the user could then edit it once it is there.
Think, similar how airbnb let users upload photos and descriptions of their holiday homes, and it appears in a page.
do you know a plug in for this functionality?
WPBeginner Staff
It is certainly possible but can potentially open up your site to spam, malicious hack attempts. Please see out article on how to allow users to submit posts in WordPress. You can allow users to upload media without registration.
fredtgorski
The one thing I would really(!) love to see on media library would be the ability to search media per post and/or date of upload. Every time I need to reuse an image I uploaded for a very old post, it is painfull to find it again. Sometimes I simply give up and reupload it…
agsm
sir , i want to design a wordpress page where user will upload some documents with following feilds (name,e-mail,title,summary and file upload) after submit , it should appear in dashboard and when admin approve it should be show on page (all listing of upload details which has been approved by admin ) , its possible,
thanks in advance!!!
Michel
https://wordpress.org/plugins/wp-user-frontend/
Jan
Do you also have a solution to enable visitors (non-logged-in users) to upload content?
Tony Franco
Very nice! Thank you!!