Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Puchar WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Jak łatwo organizować przesyłanie multimediów przez użytkowników w WordPress

Po latach prowadzenia bloga z wieloma autorami odkryliśmy, że istnieją sytuacje, w których importowanie multimediów przez użytkowników staje się ważne. Z naszego doświadczenia wynika, że wraz ze wzrostem zespołu współpracowników rośnie potencjał chaosu w zarządzaniu multimediami.

Spotkaliśmy się ze scenariuszami, w których autorzy przypadkowo zmodyfikowali lub usunęli nawzajem swoje obrazy, co doprowadziło do uszkodzenia postów. W jednej z instancji błędne kliknięcie spowodowało usunięcie kluczowej grafiki, powodując opóźnienie w publikacji ważnego artykułu.

Aby temu zapobiec, możesz ograniczyć lub uporządkować przesyłanie multimediów przez użytkowników w WordPress. Ta funkcja nie jest oferowana domyślnie, więc pokażemy ci nasz sposób na zrobienie tego.

How to organize media uploads by users in WordPress

Dlaczego ograniczać autorom dostęp do przesyłanych multimediów?

Jeśli masz blog WordPress z wieloma autorami, twoi autorzy mogą przesyłać wiele różnych obrazków. Może to utrudnić autorowi znalezienie odpowiedniego obrazka lub może on przypadkowo usunąć lub edytować plik multimedialny innej osoby.

Może to powodować różnego rodzaju problemy, w tym niską produktywność, mnóstwo dodatkowej pracy dla administratorów witryn i redaktorów oraz skomplikowany przepływ pracy redakcyjnej.

Ten nieograniczony dostęp może również stanowić zagrożenie dla prywatności. Na przykład, jeśli pracujesz nad nowym produktem lub wpisem na blogu, inni autorzy mogą zobaczyć poufne obrazki w bibliotece multimediów, zanim je publicznie ogłosisz.

Jeśli posiadasz witrynę członkowską WordPress, to współtwórcy mogą nawet mieć dostęp do plików multimedialnych premium za pośrednictwem biblioteki multimediów.

Biorąc to pod uwagę, przyjrzyjmy się, jak ograniczyć, kto może zobaczyć przesyłane multimedia w obszarze administracyjnym WordPress.

Jak organizować przesyłanie multimediów przez użytkowników za pomocą WPCode

W tamtych czasach znaleźliśmy wtyczkę, której można było użyć, aby uniemożliwić użytkownikom bez uprawnień do edycji postów dostęp do plików innych użytkowników w bibliotece multimediów WordPress. Wtyczka ta była łatwa w użyciu, ale nie jest już aktualizowana.

Ponadto wtyczka może być dość ograniczona, ponieważ można jedynie uniemożliwić użytkownikom bez uprawnień edit_others_posts (administratorom i redaktorom witryny) dostęp do plików multimedialnych innych użytkowników.

Jeśli jesteś administratorem witryny, może zaistnieć sytuacja, w której będziesz chciał ograniczyć wszystkim użytkownikom (z wyjątkiem siebie) dostęp do plików multimedialnych innych osób.

W takim przypadku możesz zamiast tego dodać własny kod do twojego bloga WordPress. Pokażemy ci dwa fragmenty kodu: jeden, który ogranicza dostęp do plików multimedialnych dla użytkowników niebędących administratorami, a drugi dla użytkowników bez uprawnień edit_others_posts.

Często przewodniki proszą o dodanie własnego kodu do twojego motywu WordPress. Nie jest to jednak zalecane, ponieważ proste błędy lub literówki w twoim kodzie mogą powodować typowe błędy WordPressa lub nawet całkowicie zepsuć twoją witrynę.

Właśnie dlatego polecamy WPCode.

WPCode to najlepsza wtyczka fragmentów kodu używana przez ponad 1 milion witryn internetowych WordPress. Ułatwia ona dodawanie własnego kodu w WordPress ie bez konieczności edytowania pliku functions.php.

Pierwszą rzeczą, którą musisz zrobić, to zainstalować i włączyć darmową wtyczkę WPCode. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.

Po włączaniu udaj się do Code Snippets ” Add Snippet.

How to add custom PHP snippets to your site using WPCode

Tutaj zobaczysz wszystkie gotowe fragmenty kodu, które możesz dodać do swojej witryny. Obejmują one fragmenty kodu, które pozwalają całkowicie wyłączyć komentarze WordPress, dezaktywować strony z załącznikami graficznymi i nie tylko.

Po prostu najedź kursorem myszy na „Dodaj własny kod”, a następnie wybierz „Użyj fragmentu kodu”.

Adding a custom code snippet to WordPress

Na początek wpisz tytuł własnego fragmentu kodu. Może to być cokolwiek, co pomoże zidentyfikować fragment kodu w kokpicie WordPress.

Następnie otwórz listę rozwijaną „Rodzaj kodu” i wybierz „Fragment kodu PHP”.

Restricting access to the media library using WPCode

W obszarze „Podgląd kodu” można wkleić jeden z poniższych fragmentów kodu:

Opcja 1: Ograniczenie dostępu do plików multimedialnych dla użytkowników WordPress niebędących administratorami

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

Ten kod sprawdza, czy bieżący użytkownik nie jest administratorem. Jeśli nie jest administratorem, filtruje bibliotekę multimediów, aby wyświetlić tylko pliki przesłane przez użytkownika.

Oznacza to, że zwykli użytkownicy mogą widzieć i zarządzać tylko własnymi plikami multimedialnymi, podczas gdy administratorzy nadal mogą widzieć i zarządzać wszystkimi plikami.

Opcja 2: Ograniczenie dostępu do plików multimedialnych dla użytkowników WordPressa bez uprawnień do edycji wpisów

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

Ten kod jest nieco bardziej szczegółowy. Sprawdza, czy bieżący użytkownik jest zalogowany i nie ma uprawnień do aktywowania wtyczek lub edytowania postów innych osób. Jeśli użytkownik spełnia te warunki, może zobaczyć i zarządzać tylko własnymi plikami multimedialnymi.

Dzięki temu administratorzy i redaktorzy mogą zobaczyć wszystkie pliki, podczas gdy autorzy i współpracownicy mają dostęp tylko do własnych przesłanych plików.

Następnie przewiń do sekcji „Wstawienie”. WPCode może dodawać twój kod w różnych miejscach, na przykład po każdym wpisie, tylko na front-endzie lub tylko dla administratora.

Aby użyć własnego kodu PHP w całej witrynie internetowej WordPress, kliknij opcję „Auto Insert”, jeśli nie jest jeszcze wybrana. Następnie otwórz menu rozwijane „Lokalizacja” i wybierz „Uruchom wszędzie”.

Running custom PHP code across your website using WPCode

Następnie możesz przewinąć do góry ekranu i kliknąć przełącznik „Nieaktywne”, aby zmienił się na „Aktywne”.

Na koniec kliknij „Zapisz fragment”, aby uruchomić fragment kodu PHP.

How to restrict access to media files using code

Teraz użytkownicy będą mieli dostęp tylko do plików, które prześlą do biblioteki multimediów WordPress.

Dowiedz się więcej o sposobach zarządzania plikami WordPress

Oprócz ograniczania przesyłania multimediów w WordPress, możesz również zapoznać się z poniższymi przewodnikami, aby lepiej zarządzać swoimi plikami:

Mamy nadzieję, że ten artykuł pomógł Ci lepiej zorganizować przesyłanie multimediów przez użytkowników w Twojej witrynie WordPress. Następnie możesz zapoznać się z naszymi eksperckimi typami najlepszych wtyczek do sliderów WordPress i naszym przewodnikiem na temat łatwego leniwego ładowania obrazów w 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.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz na niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak WPBeginner jest finansowany, dlaczego to ma znaczenie i jak możesz nas wspierać. Oto nasz proces redakcyjny.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Najlepszy zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi - zbiór produktów i zasobów związanych z WordPressem, które każdy profesjonalista powinien mieć!

Reader Interactions

9 komentarzyZostaw odpowiedź

  1. 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 :)

      Administrator

  2. 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?

  3. 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…

  4. 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!!!

  5. Tony Franco

    Very nice! Thank you!! :)

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszymi polityka komentarzy, a Twój adres e-mail NIE zostanie opublikowany. NIE używaj słów kluczowych w polu nazwy. Przeprowadźmy osobistą i konstruktywną rozmowę.