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 blog WordPress z wieloma autorami, Twoi autorzy mogą przesyłać wiele różnych obrazów. Może to utrudnić autorowi znalezienie odpowiedniego obrazu, lub mogą przypadkowo usunąć lub edytować plik multimedialny innej osoby.
Może to spowodować 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 stronę członkowską WordPress, wówczas współpracownicy 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!
Użyjemy do tego darmowego wtyczki WPCode. Jest to najbezpieczniejszy i najprostszy sposób na dodawanie niestandardowego kodu do Twojej 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. Jednak nie jest to zalecane, ponieważ proste błędy lub literówki w kodzie mogą spowodować częste błędy WordPress lub nawet całkowicie zepsuć Twoją witrynę.
Dlatego polecamy WPCode.
WPCode to najlepsza wtyczka do fragmentów kodu używana przez ponad 1 milion stron internetowych 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 darmowego pluginu WPCode. Więcej szczegółów znajdziesz w naszym przewodniku krok po kroku na temat jak zainstalować plugin 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ą na całkowite wyłączenie komentarzy w WordPressie, dezaktywację stron 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 na całej stronie WordPress, kliknij „Automatycznie wstaw”, 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łane przez użytkowników pliki multimedialne w Twojej witrynie WordPress. Następnie możesz zapoznać się z naszymi najlepszymi wyborami najlepszych wtyczek suwaków WordPress oraz naszym przewodnikiem jak łatwo ładować obrazy w WordPress.
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
Admin
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!!