Prowadzenie wieloautorskiej witryny WordPress jest ekscytujące, dopóki biblioteka mediów nie stanie się wolną amerykanką. Byliśmy tam i wiemy, jak frustrujące jest, gdy jeden autor przypadkowo usuwa obrazy innego, powodując chaos tuż przed ważnym uruchomieniem.
Zapobieganie temu jest łatwiejsze niż myślisz. Możesz ograniczyć, którzy autorzy widzą które pliki multimedialne, przywracając porządek w swojej bibliotece.
Chociaż WordPress nie ma wbudowanego ustawienia do tego celu, podzielimy się prostą metodą, której używamy w naszych własnych projektach. Pomoże Ci to utrzymać porządek i bezpieczeństwo plików multimedialnych.

Dlaczego ograniczać dostęp autorom do przesyłania multimediów?
Jeśli masz bloga WordPress z wieloma autorami, Twoi autorzy mogą przesyłać wiele różnych obrazów. Może to utrudnić autorowi znalezienie właściwego obrazu lub przypadkowe usunięcie lub edycja pliku multimedialnego innej osoby.
Może to powodować wszelkiego rodzaju problemy, w tym niską produktywność, mnóstwo dodatkowej pracy dla administratorów i redaktorów witryny oraz skomplikowany przepływ pracy redakcyjnej.
Ten nieograniczony dostęp może również stanowić problem z prywatnością. Na przykład, jeśli pracujesz nad nowym produktem lub pomysłem na wpis na blogu, inni autorzy mogą zobaczyć poufne obrazy w bibliotece multimediów, zanim dokonasz publicznego ogłoszenia.
Jeśli masz witrynę członkowską WordPress, współtwórcy mogą nawet uzyskać dostęp do plików multimedialnych premium za pośrednictwem biblioteki multimediów.
Mając to na uwadze, przyjrzyjmy się, jak ograniczyć dostęp do plików multimedialnych w obszarze administracyjnym WordPress.
Jak organizować przesyłane media przez użytkowników za pomocą WPCode
Chociaż niektóre wtyczki oferowały tę funkcję w przeszłości, najbardziej niezawodnym i lekkim sposobem organizacji przesyłanych przez użytkowników plików jest dodanie prostego fragmentu kodu. Nie martw się, jest to łatwiejsze niż brzmi!
Do tego celu użyjemy darmowej wtyczki WPCode. Jest to najbezpieczniejszy i najłatwiejszy sposób dodawania niestandardowego kodu do witryny WordPress bez edycji plików motywu.
Pokażemy dwa fragmenty kodu, których możesz użyć. Pierwszy fragment ogranicza dostęp do biblioteki multimediów dla wszystkich użytkowników niebędących administratorami, a drugi ogranicza dostęp dla określonych ról użytkowników, takich jak Autorzy i Współtwórcy.
Często przewodniki proszą o dodanie niestandardowego kodu do motywu WordPress. Nie jest to jednak zalecane, ponieważ proste błędy lub literówki w kodzie mogą powodować powszechne błędy WordPress, a nawet całkowicie zepsuć witrynę.
Dlatego polecamy WPCode.
WPCode to najlepsza wtyczka do fragmentów kodu, używana przez ponad 1 milion witryn WordPress. Ułatwia dodawanie niestandardowego kodu w WordPress bez konieczności edycji pliku functions.php.
Wskazówka eksperta: Tutaj w WPBeginner używamy WPCode do zarządzania wszystkimi niestandardowymi funkcjami w naszym portfolio stron internetowych. Pozwala to naszemu zespołowi programistów bezpiecznie dodawać i rozwiązywać problemy z kodem, nie dotykając plików motywu, co jest ogromną oszczędnością czasu i zapobiega kosztownym błędom.
Pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie i aktywowanie bezpłatnej wtyczki WPCode. Aby uzyskać więcej szczegółów, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.
Po aktywacji przejdź do Fragmenty kodu » Dodaj fragment.

Tutaj zobaczysz wszystkie gotowe fragmenty kodu, które możesz dodać do swojej witryny. Obejmują one fragmenty, które pozwalają całkowicie wyłączyć komentarze WordPress, dezaktywować strony załączników obrazów i inne.
Po prostu najedź kursorem myszy na „Dodaj własny kod”, a następnie wybierz „Użyj fragmentu”.

Na początek wpisz tytuł dla niestandardowego fragmentu kodu. Może to być cokolwiek, co pomoże Ci zidentyfikować fragment w panelu WordPress.
Następnie otwórz menu rozwijane „Typ kodu” i wybierz „Fragment PHP”.

W obszarze „Podgląd kodu” możesz wkleić jeden z poniższych fragmentów kodu:
Opcja 1: Ograniczanie dostępu do plików multimedialnych dla użytkowników WordPress niebędących administratorami
Ten kod sprawdza, czy bieżący użytkownik nie jest administratorem. Jeśli nie jest administratorem, filtruje bibliotekę multimediów, aby pokazać tylko pliki, które użytkownik sam przesłał.
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;
}
Oznacza to, że zwykli użytkownicy mogą widzieć i zarządzać tylko swoimi plikami multimedialnymi, podczas gdy administratorzy nadal mogą widzieć i zarządzać wszystkimi plikami.
Opcja 2: Ograniczanie dostępu do plików multimedialnych dla użytkowników WordPress bez uprawnień do edycji postów
Ten kod jest idealny, jeśli chcesz, aby Edytorzy i Administratorzy zarządzali wszystkimi plikami multimedialnymi, jednocześnie ograniczając Autorów i Współpracowników do ich własnych przesłanych plikó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;
}
Działa poprzez sprawdzenie, czy użytkownik ma uprawnienie edit_others_posts, które domyślnie posiadają Edytorzy, ale nie Autorzy.
Następnie po prostu przewiń do sekcji „Wstawianie”. WPCode może dodać Twój kod w różnych lokalizacjach, takich jak po każdym poście, tylko na froncie, lub tylko w panelu administracyjnym.
Aby użyć niestandardowego kodu PHP w całej witrynie WordPress, kliknij „Automatyczne wstawianie”, jeśli nie jest jeszcze zaznaczone. Następnie otwórz menu rozwijane „Lokalizacja” i wybierz „Uruchom wszędzie”.

Następnie jesteś gotowy, aby przewinąć do góry ekranu i kliknąć przełącznik „Nieaktywny”, aby zmienił się na „Aktywny”.
Na koniec kliknij „Zapisz fragment”, aby fragment PHP stał się aktywny.

Teraz użytkownicy będą mieli dostęp tylko do plików, które przesyłają do biblioteki multimediów WordPress.
Najczęściej zadawane pytania
Oto niektóre z najczęściej zadawanych pytań dotyczących organizacji przesłanych multimediów w WordPressie.
Czy dodawanie własnego kodu do mojej witryny WordPress jest bezpieczne?
Dodawanie kodu bezpośrednio do pliku functions.php twojego motywu może być ryzykowne. Mały błąd typograficzny lub błąd może spowodować problemy lub nawet uniemożliwić dostęp do Twojej witryny.
Dlatego zdecydowanie zalecamy korzystanie z wtyczki WPCode. Tworzy ona bezpieczną warstwę do dodawania fragmentów, dzięki czemu nie musisz martwić się o zepsucie czegokolwiek.
Czy wpłynie to na wydajność mojej witryny?
Wcale nie. Dostarczony przez nas fragment kodu jest bardzo lekki i działa wydajnie.
Dodaje tylko prostą weryfikację, gdy użytkownik uzyskuje dostęp do biblioteki mediów, więc nie spowolni to Twojej witryny dla odwiedzających.
Czy mogę ograniczyć dostęp do multimediów dla określonych ról użytkowników?
Tak, absolutnie! Kod można łatwo dostosować do konkretnej roli użytkownika. Na przykład, jeśli chcesz, aby to ograniczenie dotyczyło tylko użytkowników z rolą „Autor”, możesz zamiast tego użyć tego fragmentu:
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;
}
Poznaj więcej sposobów zarządzania plikami WordPress
Oprócz ograniczania przesyłania multimediów w WordPressie, możesz również zapoznać się z poniższymi przewodnikami, aby lepiej zarządzać swoimi plikami:
- Jak zmienić nazwy obrazów i plików multimedialnych w WordPress
- Najlepsze wtyczki Dropbox dla WordPress (Wybór ekspertów)
- Jak tworzyć dodatkowe rozmiary obrazów w WordPress
- Jak wymusić czyste nazwy plików obrazów w WordPress (łatwa metoda)
- Jak posprzątać bibliotekę multimediów WordPress
- Jak zmienić domyślną lokalizację przesyłania multimediów w WordPressie
Mamy nadzieję, że ten artykuł pomógł Ci lepiej organizować przesyłanie multimediów przez użytkowników w Twojej witrynie WordPress. Następnie możesz zapoznać się z naszymi najlepszymi wyborami najlepszych wtyczek do tworzenia slidów w WordPress oraz naszym przewodnikiem, jak łatwo ładować obrazy w WordPress w trybie leniwym.
Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Joshua Owolabi
Bardzo mi się podobają wszystkie Twoje tutoriale, gratulacje.
Chociaż nie mogę nic zbudować z powodu braku zasobów, to i tak jesteś DOBRZE ZROBIONY
Wsparcie WPBeginner
Glad our tutorials are helpful
Administrator
Teddu
Chciałbym, aby użytkownicy mogli przesyłać treści, a po ich zatwierdzeniu trafiały na nową stronę. Użytkownik mógłby je następnie edytować, gdy już tam będą.
Pomyśl, podobnie jak Airbnb pozwala użytkownikom przesyłać zdjęcia i opisy swoich domów wakacyjnych, a pojawiają się one na stronie.
Czy znasz wtyczkę do tej funkcjonalności?
Zespół WPBeginner
Jest to oczywiście możliwe, ale może potencjalnie narazić Twoją witrynę na spam i złośliwe próby włamania. Zapoznaj się z naszym artykułem na temat tego, jak umożliwić użytkownikom publikowanie postów w WordPress. Możesz zezwolić użytkownikom na przesyłanie multimediów bez rejestracji.
fredtgorski
Jedyną rzeczą, którą naprawdę (!) chciałbym zobaczyć w bibliotece mediów, byłaby możliwość wyszukiwania mediów według posta i/lub daty przesłania. Za każdym razem, gdy muszę ponownie użyć obrazu, który przesłałem do bardzo starego posta, trudno go ponownie znaleźć. Czasami po prostu rezygnuję i przesyłam go ponownie...
agsm
Panie, chcę zaprojektować stronę WordPress, na której użytkownik będzie przesyłał dokumenty z następującymi polami (imię, e-mail, tytuł, podsumowanie i przesyłanie pliku) po przesłaniu, powinno pojawić się w panelu, a gdy administrator zatwierdzi, powinno być widoczne na stronie (wszystkie listy szczegółów przesłanych, które zostały zatwierdzone przez administratora), czy to możliwe?
z góry dziękuję!!!
Michel
https://wordpress.org/plugins/wp-user-frontend/
Sty
Czy masz również rozwiązanie umożliwiające odwiedzającym (niezalogowanym użytkownikom) przesyłanie treści?
Tony Franco
Very nice! Thank you!!