Czy chcesz uporządkować przesyłane multimedia według użytkownika w WordPress?
Jeśli prowadzisz witrynę internetową z wieloma autorami, możesz chcieć uniemożliwić użytkownikom dostęp do plików multimedialnych innych osób. W ten sposób można upewnić się, że autorzy nie usuną przypadkowo swoich obrazków.
W tym artykule pokażemy, jak organizować przesyłanie multimediów przez użytkowników w 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 twoim obszarze administracyjnym WordPress. Skorzystaj z poniższych odnośników, aby przejść bezpośrednio do wybranej metody:
Metoda 1: Organizowanie przesyłania multimediów przez użytkowników za pomocą wtyczki (szybko i łatwo)
Najprostszym sposobem na ograniczenie dostępu do przesyłanych multimediów jest użycie wtyczki Frontier Restrict Access. Ta darmowa wtyczka sprawdza, czy użytkownik ma uprawnienie edit_others_posts
, które pozwala mu edytować wpisy innego użytkownika.
Domyślnie WordPress przyznaje tę możliwość każdemu, kto ma rolę administratora witryny lub redaktora. Jeśli chcesz to zmienić, możesz dodawać lub usuwać możliwości do ról użytkowników w WordPress.
Jeśli użytkownik nie ma uprawnienia edit_others_posts
, to ta wtyczka uniemożliwi mu dostęp do plików innych użytkowników w bibliotece multimediów WordPress. Pozwala to organizować przesyłanie multimediów przez użytkowników bez ograniczania dostępu dla administratorów i redaktorów.
Ta wtyczka działa po wyjęciu z pudełka i nie ma żadnych ustawień do skonfigurowania, więc możesz po prostu zainstalować i włączać wtyczkę Frontier Restrict Access. Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem na temat instalacji wtyczki WordPress.
Powiadomienie: Wtyczka nie została przetestowana z najnowszymi wersjami WordPressa. To powiedziawszy, sami ją przetestowaliśmy i działa dobrze dla tego poradnika.
Jeśli masz jakieś pytania, możesz przeczytać nasz artykuł na temat tego, czy powinieneś używać niesprawdzonych wtyczek WordPress. Jeśli znajdziesz nowsze wtyczki, które lepiej sprawdzają się w tym celu, daj nam znać w komentarzach.
Metoda 2: Organizowanie przesyłania multimediów przez użytkowników za pomocą kodu (bardziej konfigurowalne)
Pierwsza metoda jest szybka i łatwa. Może być jednak dość ograniczona, ponieważ można uniemożliwić użytkownikom bez uprawnienia edit_others_posts
(administratorom witryny i redaktorom) 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.
Tutaj zobaczysz wszystkie gotowe fragmenty kodu, które możesz dodać do swojej witryny internetowej. Obejmują one fragmenty kodu, które pozwalają całkowicie wyłączyć komentarze WordPress, przesyłać pliki, których WordPress domyślnie nie obsługuje, i nie tylko.
Po prostu najedź kursorem myszy na „Dodaj własny kod”, a następnie wybierz „Użyj fragmentu kodu”.
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”.
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;
}
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;
}
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”.
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.
Teraz użytkownicy będą mieli dostęp tylko do plików, które prześlą do biblioteki multimediów WordPress.
Mamy nadzieję, że ten artykuł pomógł ci lepiej zorganizować przesyłanie multimediów przez użytkowników na twojej witrynie WordPress. Następnie możesz zapoznać się z naszym przewodnikiem po zabezpieczeniach WordPress lub zobaczyć naszą ekspercką listę najlepszych wtyczek do formularzy kontaktowych dla 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 says
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 says
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 says
Glad our tutorials are helpful
Administrator
Teddu says
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 says
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 says
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 says
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 says
https://wordpress.org/plugins/wp-user-frontend/
Jan says
Do you also have a solution to enable visitors (non-logged-in users) to upload content?
Tony Franco says
Very nice! Thank you!!