Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur du enkelt organiserar medieuppladdningar av användare i WordPress

Att driva en WordPress-webbplats med flera författare är spännande tills mediebiblioteket blir ett fritt fall. Vi har varit där, och vi vet hur frustrerande det är när en författare av misstag raderar en annans bilder, vilket orsakar kaos precis före en stor lansering.

Att förhindra detta är enklare än du tror. Du kan begränsa vilka författare som ser vilka mediefiler, vilket återställer ordningen i ditt bibliotek.

Även om WordPress inte har en inbyggd inställning för detta, kommer vi att dela den enkla metod vi använder i våra egna projekt. Det hjälper dig att hålla dina mediefiler organiserade och säkra.

Hur man organiserar medieuppladdningar av användare i WordPress

Varför begränsa författarens åtkomst till medieuppladdningar?

Om du har en WordPress-blogg med flera författare, då kan dina författare ladda upp många olika bilder. Detta kan göra det svårt för en författare att hitta rätt bild, eller så kan de av misstag radera eller redigera en annan persons mediefil.

Detta kan orsaka alla möjliga problem, inklusive dålig produktivitet, mycket extra arbete för webbplatsadministratörer och redaktörer, och en komplicerad redaktionell arbetsflöde.

Denna obegränsade åtkomst kan också vara en integritetsfråga. Till exempel, om du arbetar med en ny produkt eller blogginläggsidé, kan andra författare se konfidentiella bilder i mediebiblioteket innan du gör ett offentligt tillkännagivande.

Om du har en WordPress-medlemskapswebbplats, kan bidragsgivare till och med kunna komma åt premium-mediefiler via mediatoteket.

Med det sagt, låt oss titta på hur man begränsar vem som kan se medieuppladdningar inom ditt WordPress-adminområde.

Hur man organiserar medieuppladdningar av användare med WPCode

Medan vissa plugins har erbjudit den här funktionen tidigare, är det mest pålitliga och lättviktiga sättet att organisera användaruppladdningar genom att lägga till ett enkelt kodavsnitt. Oroa dig inte, detta är enklare än det låter!

Vi kommer att använda det kostnadsfria pluginet WPCode för att göra detta. Det är det säkraste och enklaste sättet att lägga till anpassad kod på din WordPress-webbplats utan att redigera dina temafiler.

Vi visar dig två kodavsnitt du kan använda. Det första avsnittet begränsar åtkomsten till mediebiblioteket för alla icke-administratörsanvändare, och det andra begränsar åtkomsten för specifika användarroller som författare och bidragsgivare.

Ofta ber guider dig att lägga till anpassad kod i ditt WordPress-tema. Detta rekommenderas dock inte, eftersom enkla misstag eller felskrivningar i din kod kan orsaka vanliga WordPress-fel eller till och med bryta din webbplats helt.

Därför rekommenderar vi WPCode.

WPCode är det bästa kodsnutt-pluginet som används av över 1 miljon WordPress-webbplatser. Det gör det enkelt att lägga till anpassad kod i WordPress utan att behöva redigera functions.php-filen.

Experttips: Här på WPBeginner använder vi WPCode för att hantera alla anpassade funktioner på vår portfölj av webbplatser. Det gör det möjligt för vårt utvecklingsteam att lägga till och felsöka kod säkert utan att någonsin röra kärntemafiler, vilket sparar enormt mycket tid och förhindrar kostsamma fel.

Det första du behöver göra är att installera och aktivera det kostnadsfria WPCode-pluginet. För mer information, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.

Efter aktivering, gå till Code Snippets » Add Snippet.

Hur man lägger till anpassade PHP-avsnitt på din webbplats med WPCode

Här ser du alla färdiga kodsnuttar du kan lägga till på din webbplats. Dessa inkluderar kodsnuttar som låter dig helt inaktivera WordPress-kommentarer, inaktivera bildbilagesidor, och mer.

Håll bara muspekaren över ‘Lägg till din anpassade kod’ och välj sedan ‘Använd kodavsnitt.’

Lägga till ett anpassat kodavsnitt till WordPress

Till att börja med, skriv in en titel för det anpassade kodavsnittet. Detta kan vara vad som helst som hjälper dig att identifiera avsnittet i WordPress-instrumentpanelen.

Öppna sedan rullgardinsmenyn 'Kodtyp' och välj 'PHP-utdrag'.

Begränsa åtkomst till mediebiblioteket med WPCode

I området 'Kodförhandsgranskning' kan du klistra in en av följande kodsnuttar:

Alternativ 1: Begränsa åtkomst till mediefiler för WordPress-användare som inte är administratörer

Denna kod kontrollerar om den aktuella användaren inte är en administratör. Om de inte är en administratör, filtrerar den mediebiblioteket för att bara visa de filer som användaren själv har laddat upp.

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

Detta 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änsa åtkomst till mediefiler för WordPress-användare utan behörighet att redigera inlägg

Den här koden är perfekt om du vill att redaktörer och administratörer ska hantera alla mediefiler, samtidigt som författare och bidragsgivare begränsas till sina egna uppladdningar.

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

Det fungerar genom att kontrollera om en användare har behörigheten edit_others_posts, vilket är en förmåga som redigerare har som standard, men som författare inte har.

Rulla sedan bara ner till avsnittet 'Infogning'. WPCode kan lägga till din kod på olika platser, som efter varje inlägg, endast på framsidan, eller endast i admin.

För att använda den anpassade PHP-koden över hela din WordPress-webbplats, klicka på 'Infoga automatiskt' om det inte redan är valt. Öppna sedan rullgardinsmenyn 'Plats' och välj 'Kör överallt'.

Köra anpassad PHP-kod på din webbplats med WPCode

Därefter är du redo att skrolla till toppen av skärmen och klicka på växlingsknappen 'Inaktiv' så att den ändras till 'Aktiv'.

Klicka slutligen på ‘Spara utdrag’ för att göra PHP-utdraget live.

Hur man begränsar åtkomst till mediefiler med kod

Nu kommer användarna bara att ha tillgång till de filer de laddar upp till WordPress mediebibliotek.

Vanliga frågor

Här är några av de vanligaste frågorna vi får om att organisera medieuppladdningar i WordPress.

Är det säkert att lägga till anpassad kod på min WordPress-webbplats?

Att lägga till kod direkt i din temas functions.php-fil kan vara riskabelt. En liten felskrivning eller ett fel kan orsaka problem eller till och med göra din webbplats otillgänglig.

Det är därför vi starkt rekommenderar att använda WPCode-pluginet. Det skapar ett säkert lager för att lägga till kodavsnitt, så du behöver inte oroa dig för att förstöra något.

Kommer detta att påverka min webbplats prestanda?

Inte alls. Kodavsnittet vi tillhandahöll är mycket lättviktigt och körs effektivt.

Det lägger bara till en enkel kontroll när en användare får åtkomst till mediebiblioteket, så det kommer inte att sakta ner din webbplats för dina besökare.

Kan jag begränsa medieåtkomst för specifika användarroller?

Ja, absolut! Koden kan enkelt anpassas för att rikta sig mot en specifik användarroll. Om du till exempel ville att denna begränsning skulle gälla endast användare med rollen 'Författare', kan du använda det här kodavsnittet istället:

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

Lär dig fler sätt att hantera WordPress-filer

Förutom att begränsa medieuppladdningar i WordPress, kanske du också vill titta på guiderna nedan för att bättre hantera dina filer:

Vi hoppas att den här artikeln hjälpte dig att bättre organisera medieuppladdningar av användare på din WordPress-webbplats. Därefter kan du kolla in våra experters val av de bästa WordPress-sliderplugins och vår guide om hur man enkelt lazy loadar bilder i WordPress.

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

9 CommentsLeave a Reply

  1. Jag uppskattar verkligen alla dina handledningar, hatten av för dig.
    Även om jag inte kan bygga något på grund av brist på resurser, så är du BRA GJORT

  2. Jag skulle vilja att användare ska kunna ladda upp innehåll, och när det har godkänts gå till en ny sida. Användaren skulle sedan kunna redigera det när det finns där.

    Tänk, liknande hur airbnb låter användare ladda upp foton och beskrivningar av sina semesterbostäder, och det visas på en sida.

    känner du till ett plugin för denna funktionalitet?

  3. Det enda jag verkligen skulle älska att se i mediebiblioteket vore möjligheten att söka media per inlägg och/eller uppladdningsdatum. Varje gång jag behöver återanvända en bild jag laddade upp för ett mycket gammalt inlägg, är det smärtsamt att hitta den igen. Ibland ger jag helt enkelt upp och laddar upp den igen...

  4. Herr, jag vill designa en WordPress-sida där användaren laddar upp vissa dokument med följande fält (namn, e-post, titel, sammanfattning och filuppladdning) efter inlämning, det ska visas i instrumentpanelen och när administratören godkänner det ska det visas på sidan (alla listor över uppladdningsdetaljer som har godkänts av administratören), är det möjligt?

    tack på förhand!!!

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.