En çok ihtiyaç duyduğunuzda güvenilir WordPress eğitimleri.
WordPress Başlangıç Rehberi
WPB Kupası
25 Milyon+
Eklentilerimizi kullanan web siteleri
16+
Yıllık WordPress deneyimi
3000+
Uzmanlardan WordPress eğitimleri

WordPress'te Medya Kütüphanesi Erişimi Sadece Kullanıcının Kendi Yüklemeleriyle Sınırlandırma

Birden fazla yazara sahip bir WordPress sitesini yönetmek, medya kütüphanesi herkesin erişimine açık hale gelene kadar heyecan vericidir. Biz oradaydık ve büyük bir lansmandan hemen önce kaos yaratarak bir yazarın yanlışlıkla başka birinin resimlerini silmesinin ne kadar sinir bozucu olduğunu biliyoruz.

Bunu önlemek, düşündüğünüzden daha kolaydır. Hangi yazarların hangi medya dosyalarını görebileceğini kısıtlayarak kütüphanenize yeniden düzen getirebilirsiniz.

WordPress'te bunun için yerleşik bir ayar olmasa da, kendi projelerimizde kullandığımız basit yöntemi paylaşacağız. Medya dosyalarınızı düzenli ve güvende tutmanıza yardımcı olacaktır.

WordPress'te Medya Kütüphanesi Erişimi Sadece Kullanıcının Kendi Yüklemeleriyle Sınırlandırma

Yazarın Medya Yüklemelerine Erişimi Neden Kısıtlanmalı?

Eğer çok yazarlı bir WordPress blogunuz varsa, yazarlarınız birçok 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, zayıf üretkenlik, site yöneticileri ve editörler için çok fazla ek iş ve karmaşık bir yayın akışı dahil olmak üzere her türlü soruna neden olabilir.

Bu sınırsız erişim aynı zamanda bir gizlilik endişesi de olabilir. Örneğin, yeni bir ürün üzerinde çalışıyorsanız veya blog yazısı fikri, o zaman diğer yazarlar, siz halka açık bir duyuru yapmadan önce medya kütüphanesindeki gizli resimleri görebilir.

Eğer bir WordPress üyelik siteniz varsa, katkıda bulunanlar medya kütüphanesi aracılığıyla premium medya dosyalarına erişebilirler.

Bununla birlikte, WordPress yönetici alanınızdaki medya yüklemelerini kimlerin görebileceğini nasıl kısıtlayacağımıza bir göz atalım.

WPCode ile Medya Yüklemelerini Kullanıcılara Göre Düzenleme

Bazı eklentiler geçmişte bu özelliği sunmuş olsa da, kullanıcı yüklemelerini organize etmenin en güvenilir ve hafif yolu basit bir kod parçacığı eklemektir. Merak etmeyin, bu göründüğünden daha kolay!

Bunu yapmak için ücretsiz WPCode eklentisini kullanacağız. Tema dosyalarınızı düzenlemeden WordPress sitenize özel kod eklemenin en güvenli ve en kolay yolu budur.

Kullanabileceğiniz iki kod parçacığı göstereceğiz. İlk parçacık, tüm yönetici olmayan kullanıcılar için medya kütüphanesi erişimini kısıtlar ve ikinci parçacık, Yazarlar ve Katkıda Bulunanlar gibi belirli kullanıcı rolleri için erişimi kısıtlar.

Genellikle, kılavuzlar WordPress temanıza özel kod eklemenizi isteyecektir. Ancak bu önerilmez, çünkü kodunuzdaki basit hatalar veya yazım yanlışları yaygın WordPress hatalarına neden olabilir veya sitenizi tamamen bozabilir.

Bu nedenle WPCode'u öneriyoruz.

WPCode, 1 milyondan fazla WordPress web sitesi tarafından kullanılan en iyi kod parçacığı eklentisidir. functions.php dosyasını düzenlemek zorunda kalmadan WordPress'e özel kod eklemeyi kolaylaştırır.

Uzman İpucu: WPBeginner olarak, web siteleri portföyümüzdeki tüm özel fonksiyonları yönetmek için WPCode kullanıyoruz. Bu, geliştirme ekibimizin temel tema dosyalarına dokunmadan güvenli bir şekilde kod eklemesine ve sorun gidermesine olanak tanır, bu da büyük bir zaman tasarrufu sağlar ve maliyetli hataları önler.

Yapmanız gereken ilk şey, ücretsiz WPCode eklentisini kurmak ve etkinleştirmektir. Daha fazla ayrıntı için, bir WordPress eklentisinin nasıl kurulacağına dair adım adım kılavuzumuza bakın.

Etkinleştirdikten sonra Kod Parçacıkları » Parçacık Ekle'ye gidin.

Sitenize WPCode kullanarak özel PHP parçacıkları nasıl eklenir

Burada, web sitenize ekleyebileceğiniz tüm hazır kod parçacıklarını göreceksiniz. Bunlar, WordPress yorumlarını tamamen devre dışı bırakmanıza, resim ek sayfalarını devre dışı bırakmanıza ve daha fazlasını yapmanıza olanak tanıyan kod parçacıklarını içerir.

'Özel Kodunuzu Ekleyin' üzerine fare imlecini getirin ve ardından 'snippet kullan' seçeneğini seçin.

WordPress'e özel bir kod parçacığı ekleme

Başlamak için özel kod parçacığına 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 Kod Parçacığı'nı seçin.

WPCode Kullanarak Medya Kütüphanesine Erişimi Kısıtlama

‘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ı İçin Medya Dosyası Erişimi Kısıtlama

Bu kod, mevcut kullanıcının yönetici olup olmadığını kontrol eder. Eğer yönetici değillerse, medya kütüphanesini yalnızca kullanıcının kendi yüklediği dosyaları gösterecek şekilde filtreler.

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, 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örebileceği ve yönetebileceği anlamına gelir.

Seçenek 2: Gönderi Düzenleme İzni Olmayan WordPress Kullanıcıları İçin Medya Dosyası Erişimi Kısıtlama

Bu kod, Editörlerin ve Yöneticilerin tüm medya dosyalarını yönetmesini isterken, Yazarların ve Katkıda Bulunanların yalnızca kendi yüklemeleriyle sınırlı kalmasını istiyorsanız mükemmeldir.

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, kullanıcıların varsayılan olarak Editörlerin sahip olduğu ancak Yazarların sahip olmadığı bir yetenek olan edit_others_posts iznine sahip olup olmadığını kontrol ederek çalışır.

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 tüm WordPress web sitenizde kullanmak için, henüz 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.

WPCode kullanarak web sitenizde özel PHP kodu çalıştırma

Ardından, ekranın üst kısmına kaydırıp 'Etkin Değil' geçişine tıklayarak 'Etkin' hale getirmeye hazırsınız.

Son olarak, PHP kod parçasını canlı hale getirmek için ‘Snippet Kaydet’e tıklayın.

Medya dosyalarına erişimi kodla nasıl kısıtlarım

Artık kullanıcılar yalnızca WordPress medya kütüphanesine yükledikleri dosyalara erişebilecek.

Sıkça Sorulan Sorular

WordPress'te medya yüklemelerini düzenleme hakkında en sık sorulan sorulardan bazıları şunlardır.

WordPress siteme özel kod eklemek güvenli midir?

Kodunuzu doğrudan temanızın functions.php dosyasına eklemek riskli olabilir. Küçük bir yazım hatası veya hata sorunlara neden olabilir veya hatta sitenizi erişilemez hale getirebilir.

Bu nedenle WPCode eklentisini kullanmanızı şiddetle tavsiye ederiz. Snippet eklemek için güvenli bir katman oluşturur, böylece hiçbir şeyi bozma endişesi taşımazsınız.

Bu web sitemin performansını etkiler mi?

Hiç de değil. Sağladığımız kod parçacığı çok hafiftir ve verimli çalışır.

Kullanıcı medya kütüphanesine eriştiğinde basit bir kontrol ekler, bu nedenle ziyaretçileriniz için web sitenizi yavaşlatmaz.

Belirli kullanıcı rolleri için medya erişimini kısıtlayabilir miyim?

Evet, kesinlikle! Kod, belirli bir kullanıcı rolünü hedeflemek için kolayca özelleştirilebilir. Örneğin, bu kısıtlamanın yalnızca ‘Yazar’ rolüne sahip kullanıcılara uygulanmasını istiyorsanız, bunun yerine bu parçacığı kullanabilirsiniz:

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;
}

WordPress Dosyalarını Yönetmenin Daha Fazla Yolunu Öğ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:

Umarım bu makale, WordPress sitenizdeki kullanıcıların medya yüklemelerini daha iyi organize etmenize yardımcı olmuştur. Sonra, en iyi WordPress kaydırıcı eklentileri hakkındaki uzman seçimlerimize ve WordPress'te görüntüleri kolayca yavaş yükleme rehberimize göz atabilirsiniz.

Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklamanız durumunda komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve bize nasıl destek olabileceğinizi görün. İşte editöryal sürecimiz.

Nihai WordPress Araç Seti

Araç Kitimize ÜCRETSİZ erişim kazanın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Okuyucu Etkileşimleri

13 CommentsLeave a Reply

  1. Güncelleme arayan herkes, liste ve ızgara sorunlarını çözen aşağıdakini dikkate almak isteyebilir

    // Liste görünümü için
    add_action( ‘pre_get_posts’, ‘wpb_show_current_user_attachments_list_view’ );
    function wpb_show_current_user_attachments_list_view( $query ) {
    if ( is_admin() && $query->is_main_query() && $query->get(‘post_type’) === ‘attachment’ ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can(‘administrator’) ) {
    $query->set(‘author’, $user_id);
    }
    }
    }

    // Izgara görünümü için
    add_filter( ‘ajax_query_attachments_args’, ‘wpb_show_current_user_attachments_grid_view’ );
    function wpb_show_current_user_attachments_grid_view( $query ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can(‘administrator’) ) {
    $query[‘author’] = $user_id;
    }
    return $query;
    }

  2. Eklenti çalışıyor, ancak ‘upload.php?mode=list’ moduna geçerseniz tüm medyaları tekrar görmek mümkün. Yalnızca grid modunda çalışıyor

  3. Harika! Çalışıyor!

    Ancak mobilden yüklenen wordpress uygulamasını kullanırsanız, tüm kullanıcılar hala tüm medya kütüphanesine erişebilir. Herhangi bir çözüm var mı?

    Yardımlarınız çok takdir edildi!

    • Şu anda uygulama için bir çözümümüz yok ancak kesinlikle gözümüzü üzerlerinden ayırmayacağız.

      Yönetici

    • Thank you for creating the plugin and placing it on the WordPress.org repo :)

      Yönetici

  4. Kullanıcıların medya sayfasına gitmek yerine doğrudan bilgisayarlarından yükleme yapmalarını sağlayacak bir yol arıyorum

  5. Belki de doğru gönderide sormuyorum ama…

    What if you create a role for say, teacher. Is there a way or plugin that would filter so that one teacher can’t see another teacher media files? If that makes sense? :)

    Öğretmen-kullanıcıadı1- medya (sadece kullanıcıadı1 medya dosyalarını gör)
    Öğretmen-kullanıcıadı2-medya (sadece kullanıcıadı2 medya dosyalarını gör)

  6. Yerine:

    !current_user_can('activate_plugins')
    &&
    !current_user_can('edit_others_posts')

    KULLANIM:

    !current_user_can(‘administrator’)

    Çünkü örneğin ‘Kullanıcı Rolü Düzenleyici’ eklentisini kullanıyorsanız, mevcut kullanıcının eklentileri etkinleştirmesini VE/VEYA diğer gönderileri düzenlemesini isteyebilirsiniz.

    Just a thought, works for me :)

    Gönderi için teşekkürler!

  7. Güzel yazı.

    Ve dosyaların doğrudan medya kitaplığına yüklenmesini yasaklamanın ve kullanıcıları (yöneticiler hariç) gönderi/sayfa düzenleyicisindeki Medya Ekle düğmesini kullanmaya zorlamanın bir yolu var mı?

Yanıt Bırakın

Yorum bırakmayı seçtiğiniz için teşekkürler. Lütfen tüm yorumların yorum politikamıza göre denetlendiğini ve e-posta adresinizin YAYINLANMAYACAĞINI unutmayın. Lütfen isim alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.