Vill du organisera mediauppladdningar efter användare i WordPress?
Om du driver en website med flera författare kanske du vill hindra användare från att komma åt andras media files. På så sätt kan du se till att författare inte av misstag raderar varandras images.
I den här artikeln visar vi dig hur du organiserar mediauppladdningar efter användare i WordPress.
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 man begränsar vem som kan se mediauppladdningar i ditt WordPress admin area. Använd bara snabblänkarna under för att hoppa direkt till den metod du vill använda:
Metod 1: Organisera mediauppladdningar av användare med ett plugin (snabbt och enkelt)
Det enklaste sättet att begränsa åtkomsten till mediauppladdare är att använda Frontier Restrict Access plugin. Detta gratis plugin kontrollerar om en användare har behörigheten edit_others_posts
, vilket tillåter dem att redigera en annan användares posts.
Som standard ger WordPress den här möjligheten till alla som har rollen site admin eller editor. Om du vill ändra detta kan du lägga till eller ta bort capabilities i roller för användare i WordPress.
Om användaren inte har behörigheten edit_others_posts
kommer detta plugin att hindra dem från att komma åt andra användares filer i mediabiblioteket i WordPress. Detta allow you att organisera mediauppladdare efter användare utan begränsning av åtkomst för administratörer och editors.
Detta plugin fungerar direkt från boxen och det finns inga Settings för dig att konfigurera, så du kan helt enkelt installera och aktivera Frontier Restrict Access plugin. För mer detaljer, se vår guide om hur du installerar ett plugin för WordPress.
Note : You may notice that the plugin is untested with the latest WordPress versions. Vi har dock testat det själva och det fungerar bra för den här tutorialen.
Om du har några frågor kan du läsa vår artikel om huruvida du bör använda otestade WordPress tillägg. Om du hittar nyare tillägg som fungerar bättre för detta ändamål, låt oss veta det i kommentarerna.
Metod 2: Organisera mediauppladdningar av användare med kod (mer anpassningsbar)
Den första metoden är snabb och enkel. Den kan dock vara ganska limit, eftersom du bara kan hindra användare utan behörigheten edit_others_posts
(site admins och editors) från att komma åt andra användares media files.
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.
Here, you will see all the ready-made snippets you can add to your website. Bland annat snippets som allow you to completely inaktivera WordPress comments, upload files that WordPress does not support by default, and more.
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;
}
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;
}
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.
Vi hoppas att den här artikeln hjälpte dig att bättre organisera mediauppladdningar av användare på din WordPress site. Nu kan du kontrollera vår ultimata guide till WordPress-säkerhet eller se vårt expertval av de bästa tilläggen för kontaktformulär för 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.
Syed Balkhi
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!
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!!