Efter att ha drivit en blogg med flera författare i flera år har vi upptäckt att det finns situationer där det blir viktigt att organisera medieuppladdningar efter användare. Vår erfarenhet är att när ditt team av skribenter växer, så växer också potentialen för kaos i mediehanteringen.
Vi har stött på scenarier där författare av misstag har ändrat eller usunąć varandras bilder, vilket har lett till trasiga inlägg. I en instancja resulterade ett felplacerat klick i att en viktig bild usunąć, vilket försenade publiceringen av en viktig artikel.
För att förhindra detta kan du begränsa eller organisera mediauppladdningar av användare i WordPress. Den här funktionen erbjuds inte som standard, så vi ska visa dig vårt bästa sätt att göra detta.
Varför begränsa författarens åtkomst till mediauppladdningar?
Om du har en WordPress-blogg med flera författare kan dina författare uploada många olika images. Detta kan göra det svårt för en författare att hitta rätt image, eller så kan de av misstag radera eller editera en annan persons media file.
Detta kan orsaka allsköns problem, bland annat dålig produktivitet, mycket extraarbete för site admins och editors och ett komplicerat redaktionellt arbetsflöde.
Denna obegränsade tillgång kan också vara ett problem för integriteten. Om du till exempel arbetar på en idé till en ny produkt eller ett blogginlägg kan andra författare se konfidentiella images i mediabiblioteket innan du gör ett offentligt tillkännagivande.
Om du har en WordPress membership site kan contributors till och med få tillgång till premium media files via mediabiblioteket.
Med detta sagt, låt oss ta en titt på hur du begränsar vem som kan se mediauppladdningar i din WordPress obszar administracyjny.
Hur man organiserar mediauppladdningar av användare med WPCode
På den tiden hittade vi ett plugin som du kunde använda för att hindra användare utan efterredigeringsbehörighet från att komma åt andra användares filer i WordPress mediebibliotek. Pluginet var enkelt att använda, men det uppdateras inte längre.
Dessutom kan plugin-programmet vara ganska begränsat, eftersom du bara kan hindra användare utan edit_others_posts-behörighet
(webbplatsadministratörer och redaktörer) från att komma åt andra användares mediefiler.
Om du är administratör för en site kan det uppstå en situation där du vill limitera alla användare (utom dig själv) från att komma åt andras media files.
I så fall kan du lägga till custom code till din WordPress blogg istället. Vi visar dig två code snippets: en som begränsar åtkomsten till media files för användare som inte är administratörer och en för användare utan behörigheten edit_others_posts
.
Ofta kommer guider att be dig att add custom code till din WordPress tema. Detta rekommenderas dock inte, eftersom enkla misstag eller skrivfel i din kod kan orsaka vanliga WordPress error eller till och med förstöra din site helt.
Det är därför vi rekommenderar WPCode.
WPCode är det bästa code snippets plugin som används av över 1 miljon WordPress-webbplatser. Det gör det enkelt att add to custom code i WordPress utan att behöva edit filen functions.php.
Det första du behöver göra är att installera och aktivera det gratis pluginet WPCode. För mer detaljer, se vår Step-by-Step guide om hur du installerar ett WordPress plugin.
Efter aktivering, head över till Code Snippets ” Add Snippet.
Här ser du alla färdiga fragment kodu som du kan lägga till på din webbplats. Dessa inkluderar fragment kodu som gör att du helt kan inaktivera WordPress-kommentarer, avaktivera sidor med bildbilagor och mycket mer.
Bara hovera musen över ”Add Your Custom Code” och välj sedan ”Use snippet”.
Till att börja med skriver du in en titel för det anpassade code snippet. Det kan vara vad som helst som hjälper dig att identifiera snippet i WordPress dashboard.
Efter det öppnar du dropdown ’Code Type’ och väljer ’PHP Snippet’.
I ”Code Preview” area kan du klistra in ett av följande code snippets:
Alternativ 1: Begränsning av åtkomst till media file för användare som inte är administratörer i WordPress
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;
}
Den här koden kontrollerar om den aktuella användaren inte är administratör. Om de inte är administratörer filtreras mediebiblioteket så att det bara visar de filer som användaren själv har laddat upp.
Det innebär att vanliga användare bara kan se och hantera sina egna mediefiler, medan administratörer fortfarande kan se och hantera alla filer.
Alternativ 2: Begränsning av åtkomst till media file för WordPress-användare utan behörighet att redigera post
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;
}
Den här koden är lite mer specifik. Den kontrollerar om den aktuella användaren är inloggad och inte har behörighet att aktivera plugins eller redigera andras inlägg. Om en användare uppfyller dessa villkor kan han eller hon bara se och hantera sina egna mediefiler.
Detta gör att administratörer och redaktörer kan se alla filer, medan författare och bidragsgivare bara kan komma åt sina egna uppladdningar.
Därefter rullar du bara till sektionen ”Insertion”. WPCode kan add din kod till olika locations, till exempel efter varje post, on the front end only, eller admin only.
För att använda den customiserade PHP-koden på hela din WordPress website, click ’Auto Insert’ om den inte redan är vald. Öppna sedan dropdown-menyn ”Location” och välj ”Run Everywhere”.
Efter det är du redo att rulla högst upp på vyn och klicka på ”Inaktiverad” toggle så att den ändras till ”Aktiv”.
Slutligen klickar du på ”Save Snippet” för att göra PHP snippet live.
Nu har användarna bara tillgång till de filer som de uploadar till mediabiblioteket i WordPress.
Lär dig fler sätt att hantera WordPress-filer
Förutom att begränsa mediauppladdningar i WordPress, kanske du också vill kolla in przewodnikerna nedan för att bättre hantera dina filer:
- Så här byter du namn på bilder och mediefiler i WordPress
- Bästa Dropbox-plugin för WordPress (expertval)
- Så här skapar du ytterligare storlekar på bilder i WordPress
- Hur man tvingar fram rena bildfilnamn i WordPress (enkel metod)
- Så här rensar du upp i ditt mediebibliotek i WordPress
- Så här ändrar du standardplatsen för uppladdning av media i WordPress
Vi hoppas att den här artikeln hjälpte dig att bättre organisera mediauppladdningar av användare på din WordPress-webbplats. Därefter kan du kolla in våra expertval av de bästa slider-pluginsen för WordPress och vår przewodnik om hur du enkelt kan lazy-ladda bilder i WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
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
Administratör
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!!