WordPress’te medya yüklemelerini kullanıcıya göre düzenlemek mi istiyorsunuz?
Çok yazarlı bir web sitesi işletiyorsanız, kullanıcıların diğer kişilerin medya dosyalarına erişmesini engellemek isteyebilirsiniz. Bu şekilde, yazarların yanlışlıkla birbirlerinin resimlerini silmediğinden emin olabilirsiniz.
Bu makalede, WordPress’te medya yüklemelerini kullanıcılara göre nasıl düzenleyeceğinizi 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. Kullanmak istediğiniz yönteme doğrudan atlamak için aşağıdaki hızlı bağlantıları kullanmanız yeterlidir:
Yöntem 1: Kullanıcıların Medya Yüklemelerini Bir Eklenti ile Düzenlemek (Hızlı ve Kolay)
Medya yüklemelerine erişimi kısıtlamanın en kolay yolu Frontier Erişimi K ısıtla eklentisini kullanmaktır. Bu ücretsiz eklenti, bir kullanıcının başka bir kullanıcının gönderilerini düzenlemesine izin veren edit_others_posts
iznine sahip olup olmadığını kontrol eder.
Varsayılan olarak, WordPress bu yeteneği site yöneticisi veya düzenleyici rolüne sahip herkese verir. Bunu değiştirmek istiyorsanız, WordPress’te kullanıcı rollerine yetenekler ekleyebilir veya kaldırabilirsiniz.
Eğer kullanıcı edit_others_posts
iznine sahip değilse, bu eklenti kullanıcının WordPress medya kütüphanesindeki diğer kullanıcıların dosyalarına erişmesini engelleyecektir. Bu, yöneticiler ve editörler için erişimi kısıtlamadan medya yüklemelerini kullanıcılara göre düzenlemenize olanak tanır.
Bu eklenti kutudan çıktığı gibi çalışır ve yapılandırmanız gereken herhangi bir ayar yoktur, bu nedenle Frontier Erişimi Kısıtla eklentisini kurup etkinleştirmeniz yeterlidir. Daha fazla ayrıntı için WordPress eklentisi yükleme kılavuzumuza bakın.
Not: Eklentinin en son WordPress sürümleriyle test edilmediğini fark edebilirsiniz. Bununla birlikte, kendimiz test ettik ve bu eğitim için iyi çalışıyor.
Herhangi bir sorunuz varsa test edilmemiş WordPress eklentilerini kullanıp kullanmamanız gerektiğiyle ilgili yazımızı okuyabilirsiniz. Bu amaç için daha iyi çalışan yeni eklentiler bulursanız, yorumlarda bize bildirin.
Yöntem 2: Medya Yüklemelerini Kullanıcılara Göre Kodla Düzenleme (Daha Özelleştirilebilir)
İlk yöntem hızlı ve kolaydır. Bununla birlikte, 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 engelleyebileceğiniz için 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, WordPress’in varsayılan olarak desteklemediği dosyaları yüklemenize 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;
}
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;
}
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.
Umarız bu makale WordPress sitenizdeki kullanıcılar tarafından yapılan medya yüklemelerini daha iyi düzenlemenize yardımcı olmuştur. Daha sonra, nihai WordPress güvenlik kılavuzumuza göz atabilir veya WordPress için en iyi iletişim formu eklentileri uzman seçimimizi görebilirsiniz.
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
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
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!!