Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress’te Medya Kitaplığı Erişimini Kullanıcının Kendi Yüklemeleriyle Kısıtlama

WordPress varsayılan olarak yazarların sitenizin medya kitaplığındaki tüm görselleri görmesine izin verir. Çok sayıda konuk yazar davet ediyorsanız bu sorun yaratabilir. Bu makalede, WordPress medya kütüphanesi erişimini kullanıcının kendi yüklemeleriyle nasıl kısıtlayacağınızı göstereceğiz.

Restrict WordPress media library access to user's own uploads

Neden Medya Kitaplığı Erişimini Kullanıcının Kendi Yüklemeleriyle Kısıtlıyorsunuz?

WordPress, yazarların medya kitaplığındaki tüm dosyaları görmesine olanak tanır. Ayrıca bir yönetici, editör veya diğer yazarlar tarafından yüklenen görselleri de görebilirler.

Daha fazla bilgi edinmek için WordPress kullanıcı rolleri ve izinleri hakkındaki makalemize bakın.

Diyelim ki yaklaşan bir ürünü veya anlaşmayı duyurmak için yeni bir yazı oluşturuyorsunuz. Web sitenizdeki yazarlar ve konuk yazarlar, medya kitaplığında bu makaleye yüklediğiniz görselleri görebilecektir.

Yüklemeleriniz, kullanıcıların kendi makalelerine resim eklerken gördükleri ‘Medya Ekle’ açılır penceresinde de görünür olacaktır.

Birçok web sitesi için bu büyük bir sorun olmayabilir. Ancak, çok yazarlı bir web sitesi işletiyorsanız, bunu değiştirmek isteyebilirsiniz.

Medya kütüphanesi erişimini kullanıcının kendi yüklemeleriyle nasıl kolayca kısıtlayabileceğimize bir göz atalım.

Yöntem 1: Bir Eklenti Kullanarak Medya Kitaplığı Erişimini Kısıtlama

Bu yöntem daha kolaydır ve tüm kullanıcılar için önerilir.

Yapmanız gereken ilk şey Medya Kitaplığı Erişimini Kısıtla eklentisini yüklemek ve etkinleştirmektir. Daha fazla ayrıntı için, bir WordPress eklentisinin nasıl kurulacağına ilişkin adım adım kılavuzumuza bakın.

Bu eklenti kutudan çıktığı gibi çalışır ve yapılandırmanız gereken herhangi bir ayar yoktur.

Etkinleştirildiğinde, geçerli kullanıcının yönetici veya editör olup olmadığını görmek için medya kütüphanesi sorgusunu filtreler. Kullanıcı rolü bunlardan herhangi biriyle eşleşmiyorsa, yalnızca kullanıcının kendi yüklemelerini gösterecektir.

Yönetici veya editör kullanıcı rolüne sahip kullanıcılar her zamanki gibi tüm medya yüklemelerini görebileceklerdir.

Yöntem 2: Medya Kitaplığı Erişimini Manuel Olarak Kısıtlama

İlk yöntem, medya kütüphanesi erişimini sınırlandırdığı ve tüm medya yüklemelerini yalnızca yönetici ve editörün görüntülemesine izin verdiği için çoğu web sitesi için işe yarayacaktır.

Ancak, özel bir kullanıcı rolü eklemek istiyorsanız veya sadece bir eklenti kullanmak istemiyorsanız, bunun yerine bu yöntemi deneyebilirsiniz. Eklenti tarafından kullanılan kodun aynısını kullanır, ancak ihtiyaçlarınızı karşılayacak şekilde değiştirebilirsiniz.

Bu yöntem WordPress dosyalarınıza kod eklemenizi gerektirir. Bunu daha önce yapmadıysanız, WordPress’te kod kopyalama ve yapıştırma hakkındaki kılavuzumuza bir göz atın.

Aşağıdaki kodu WordPress functions.php dosyanıza veya siteye özel bir eklentiye eklemeniz gerekir.

// Limit media library access
 
add_filter( 'ajax_query_attachments_args', 'wpb_show_current_user_attachments' );

function wpb_show_current_user_attachments( $query ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
        $query['author'] = $user_id;
    }
    return $query;
} 

Bu kod, kullanıcının eklentileri etkinleştirme veya diğer kullanıcıların gönderilerini düzenleme yeteneğine sahip olup olmadığını kontrol etmek için current_user_can işlevini kullanır. Eğer yoksa, medya dosyalarını görüntülemek için kullanılan sorguyu değiştirir ve kullanıcının ID’siyle sınırlar.

Umarız bu makale WordPress medya kütüphanesi erişimini kullanıcının kendi yüklemeleriyle nasıl kısıtlayacağınızı öğrenmenize yardımcı olmuştur. WordPress yönetici alanında yazarları kendi yazılarıyla sınırlamak da isteyebilirsiniz.

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

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

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

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

Reader Interactions

13 yorumBir Cevap Bırakın

  1. Noel Williams

    Anyone looking for an update might want to consider the following which takes care of the list and grid issues

    // For list view
    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);
    }
    }
    }

    // For grid view
    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;
    }

    • WPBeginner Support

      Thank you for sharing this :)

      Yönetici

  2. Bruno

    The plugin works, but If you switch to ‘upload.php?mode=list’ it’s possible to see all medias again. It works only on the mode=grid

    • WPBeginner Support

      Thank you for sharing this information :)

      Yönetici

  3. nathan

    Amazing ! Its working !

    But if using wordpress app installed from mobile, all users still can access whole media library. Any solutions?

    Your help is much appreciated !

    • WPBeginner Support

      We do not have a solution for the app at the moment but we will certainly keep an eye out.

      Yönetici

  4. Alvaro Gomez

    Thank you for mentioning my plugin :)

    • WPBeginner Support

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

      Yönetici

  5. Daniel

    Am looking for away i can make user upload directly from their pc instead of going to media page

  6. kim

    This may not be the post I need to be asking this on but….

    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? :)

    Teacher-username1- media (only see username1 media files)
    Teacher-username2-media (only see username2 media files)

  7. Hugh

    Instead of:

    !current_user_can(‘activate_plugins’)
    &&
    !current_user_can(‘edit_others_posts’)

    USE:

    !current_user_can(‘administrator’)

    Because if for example you use the ‘User Role Editor’ plugin, you might want to allow the current user to be able to activate plugins AND/OR edit others posts.

    Just a thought, works for me :)

    Thanks for the post!

  8. Peter

    Nice post.

    And is there a way to disallow uploading files directly to the media library and force users (except admins) to use Add Media button within post/page editor?

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.