Yıllarca çok yazarlı bir blog işlettikten sonra, medya yüklemelerini kullanıcıya göre düzenlemenin önemli hale geldiği durumlar olduğunu gördük. Deneyimlerimize göre, katkıda bulunan ekibiniz büyüdükçe medya yönetimi kaosu potansiyeli de artıyor.
Yazarların yanlışlıkla birbirlerinin görsellerini değiştirdiği ya da sildiği, bunun da yayınların bozulmasına yol açtığı senaryolarla karşılaştık. Bir örnekte, yanlışlıkla yapılan bir tıklama önemli bir görselin silinmesine ve önemli bir makalenin yayınlanmasında gecikmeye neden oldu.
Bunu önlemek için WordPress’te kullanıcılar tarafından medya yüklemelerini kısıtlayabilir veya düzenleyebilirsiniz. Bu özellik varsayılan olarak sunulmadığından, size bunu yapmanın en iyi yolunu göstereceğiz.
Medya Yüklemelerine Yazar Erişimini Neden Kısıtlıyorsunuz?
Çok yazarlı bir WordPress blogunuz varsa yazarlarınız çok sayıda farklı görsel yükleyebilir. Bu, bir yazarın doğru görseli bulmasını zorlaştırabilir veya yanlışlıkla başka bir kişinin medya dosyasını silebilir veya düzenleyebilir.
Bu durum, düşük üretkenlik, site yöneticileri ve editörler için çok fazla ekstra iş ve karmaşık bir editoryal iş akışı dahil olmak üzere her türlü soruna neden olabilir.
Bu sınırsız erişim aynı zamanda bir gizlilik sorunu da yaratabilir. Örneğin, yeni bir ürün veya blog yazısı fikri üzerinde çalışıyorsanız, diğer yazarlar siz herkese açık bir duyuru yapmadan önce medya kitaplığındaki gizli görüntüleri görebilir.
Bir WordPress üyelik siteniz varsa, katılımcılar medya kütüphanesi aracılığıyla premium medya dosyalarına bile erişebilirler.
Bununla birlikte, WordPress yönetici alanınızda medya yüklemelerini kimlerin görebileceğini nasıl kısıtlayacağınıza bir göz atalım.
WPCode ile Medya Yüklemeleri Kullanıcılara Göre Nasıl Düzenlenir
O zamanlar, düzenleme izni olmayan kullanıcıların WordPress medya kitaplığındaki diğer kullanıcıların dosyalarına erişmesini engellemek için kullanabileceğiniz bir eklenti bulmuştuk. Bu eklentinin kullanımı kolay olsa da artık güncellenmiyor.
Ayrıca, yalnızca edit_others_posts
izni olmayan kullanıcıların (site yöneticileri ve editörler) diğer kullanıcıların medya dosyalarına erişmesini engelleyebildiğiniz için eklenti oldukça sınırlı olabilir.
Bir site yöneticisiyseniz, tüm kullanıcıların (kendiniz hariç) diğer kişilerin medya dosyalarına erişimini sınırlamak isteyebileceğiniz bir durum olabilir.
Bu durumda, bunun yerine WordPress blogunuza özel kod ekleyebilirsiniz. Size iki kod parçacığı göstereceğiz: biri yönetici olmayan kullanıcılar için medya dosyası erişimini kısıtlayan, diğeri ise edit_others_posts
izni olmayan kullanıcılar için.
Kılavuzlar genellikle WordPress temanıza özel kod eklemenizi isteyecektir. Ancak, kodunuzdaki basit hatalar veya yazım hataları yaygın WordPress hatalarına neden olabileceğinden ve hatta sitenizi tamamen bozabileceğinden bu önerilmez.
Bu yüzden WPCode‘u öneriyoruz.
WPCode, 1 milyondan fazla WordPress web sitesi tarafından kullanılan en iyi kod parçacıkları eklentisidir. WordPress ‘te functions.php dosyasını düzenlemek zorunda kalmadan özel kod eklemeyi kolaylaştırır.
Yapmanız gereken ilk şey ücretsiz WPCode eklentisini yüklemek ve etkinleştirmektir. Daha fazla ayrıntı için WordPress eklentisi yükleme hakkındaki adım adım kılavuzumuza bakın.
Etkinleştirmenin ardından Kod Parçacıkları ” Parçacık Ekle‘ye gidin.
Burada, web sitenize ekleyebileceğiniz tüm hazır snippet’leri göreceksiniz. Bunlar, WordPress yorumlarını tamamen devre dışı bırakmanıza, resim ekleme sayfalarını devre dışı bırakmanıza ve daha fazlasına olanak tanıyan parçacıkları içerir.
Farenizi ‘Özel Kodunuzu Ekleyin’ seçeneğinin üzerine getirin ve ardından ‘Snippet kullan’ seçeneğini seçin.
Başlamak için, özel kod parçacığı için bir başlık yazın. Bu, parçacığı WordPress kontrol panelinde tanımlamanıza yardımcı olacak herhangi bir şey olabilir.
Bundan sonra, ‘Kod Türü’ açılır menüsünü açın ve ‘PHP Snippet’i seçin.
‘Kod Önizleme’ alanına aşağıdaki kod parçacıklarından birini yapıştırabilirsiniz:
Seçenek 1: Yönetici Olmayan WordPress Kullanıcıları için Medya Dosyası Erişimini Kısıtlama
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;
}
Bu kod, geçerli kullanıcının yönetici olup olmadığını kontrol eder. Yönetici değilse, medya kitaplığını yalnızca kullanıcının kendi yüklediği dosyaları gösterecek şekilde filtreler.
Bu, normal kullanıcıların yalnızca kendi medya dosyalarını görebileceği ve yönetebileceği, yöneticilerin ise tüm dosyaları görmeye ve yönetmeye devam edebileceği anlamına gelir.
Seçenek 2: Yazı Düzenleme İzinleri Olmayan WordPress Kullanıcıları için Medya Dosyası Erişimini Kısıtlama
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;
}
Bu kod biraz daha spesifiktir. Mevcut kullanıcının oturum açıp açmadığını ve eklentileri etkinleştirme veya başkalarının gönderilerini düzenleme iznine sahip olup olmadığını kontrol eder. Bir kullanıcı bu koşulları karşılıyorsa, yalnızca kendi medya dosyalarını görebilir ve yönetebilir.
Bu, yöneticilerin ve editörlerin tüm dosyaları görmesini sağlarken, yazarlar ve katkıda bulunanlar yalnızca kendi yüklemelerine erişebilir.
Ardından, ‘Ekleme’ bölümüne kaydırın. WPCode, kodunuzu her gönderiden sonra, yalnızca ön uçta veya yalnızca yönetici gibi farklı konumlara ekleyebilir.
Özel PHP kodunu WordPress web sitenizin tamamında kullanmak için, zaten seçili değilse ‘Otomatik Ekle’ye tıklayın. Ardından, ‘Konum’ açılır menüsünü açın ve ‘Her Yerde Çalıştır’ı seçin.
Bundan sonra, ekranın üst kısmına kaydırmaya hazırsınız ve ‘Etkin Değil’ geçişine tıklayarak ‘Etkin’ olarak değişmesini sağlayın.
Son olarak, PHP snippet’ini canlı hale getirmek için ‘Snippet’i Kaydet’e tıklayın.
Artık kullanıcılar yalnızca WordPress medya kitaplığına yükledikleri dosyalara erişebilecekler.
WordPress Dosyalarını Yönetmek İçin Daha Fazla Yol Öğrenin
WordPress’te medya yüklemelerini kısıtlamanın yanı sıra, dosyalarınızı daha iyi yönetmek için aşağıdaki kılavuzlara da göz atmak isteyebilirsiniz:
- WordPress’te Görseller ve Medya Dosyaları Nasıl Yeniden Adlandırılır
- WordPress için En İyi Dropbox Eklentileri (Uzman Seçimleri)
- WordPress’te Ek Resim Boyutları Nasıl Oluşturulur?
- WordPress’te Temiz Resim Dosya Adları Nasıl Zorlanır (Kolay Yöntem)
- WordPress Medya Kitaplığınızı Temizleme
- WordPress’te Varsayılan Medya Yükleme Konumu Nasıl Değiştirilir?
Umarız bu makale WordPress sitenizdeki kullanıcılar tarafından yüklenen medyaları daha iyi düzenlemenize yardımcı olmuştur. Daha sonra, en iyi WordPress kaydırıcı eklentileri uzman seçimlerimize ve WordPress’te görselleri nasıl kolayca tembel yükleyebileceğinize ilişkin kılavuzumuza göz atabilirsiniz.
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.
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
Yönetici
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?
WPBeginner Staff
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
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
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
https://wordpress.org/plugins/wp-user-frontend/
Jan
Do you also have a solution to enable visitors (non-logged-in users) to upload content?
Tony Franco
Very nice! Thank you!!