WordPress’in rolü ve yeteneği açıklanmıştır (artı kod tabanlı ince ayarlar)
WordPress sitesini yazar olarak nasıl girebileceğinizi ve ardından başkalarının yayınlarını silmeyeceğinizi veya temalar ve eklentiler gibi temel web sitelerini yönetmeyeceğinizi biliyor musunuz? Tüm bunları yöneten çok kullanışlı bir sisteme rol ve yetenek denir ve bu hafta sonu WordPress projesinde daha ayrıntılı olarak keşfedeceğiz; İhtiyaçlar. Roller ve yetenekler nelerdir? Bu WordPress alt sistemi, belirli web sitesi kullanıcıları tarafından hangi eylemlerin yapılabileceğini belirlemekten sorumludur. Bu, gösterge tablosundaki kaosu azaltır (yazar/katkıda bulunanlar çok fazla menü öğesi görmez) ve ayrıca bazı kullanıcılar için bazı işlemlere izin vermeyerek güvenliği artırır.
Bu sistem, öğeleri gizlemenin bir yolundan daha fazlasıdır. UI tarafında, dikkat edebileceğiniz şey “çöpe taşınma” bağlantısıdır. Ancak, bu bağlantının URL’sini ziyaret ederseniz, yine de gönderiyi izniniz olarak silemez veya işlem yapılmadan önce kontrol edemezsiniz. Bu kasıtlı hataları ve kasıtsız kayıpları önler. Yetenek yeteneği bir bina sistemi bloğudur: kullanıcılar için izin verilen eylemleri belirler. Örneğin, tüm yöneticiler publish_pages yeteneğine sahiptir. Bu, sayfalar yayınlamalarını sağlar (burada şaşırtıcı değil). Yazarlar veya müşteriler gibi diğer grupların bu yeteneği yoktur, bu nedenle yayın yayınlayamazlar.
Eklentileri, yayınları, seçenekleri, multisitus ağlarını vb. Yönetmeden başlayan her şeyi düzenleyen 50’den fazla yetenek vardır. Kullanımını daha sonra bu makalede göreceğiz. Rol sadece bir pakette gruplandırılan yetenektir. Şu anda “yazar gibi diğer gruplar” dan bahsettiğimde, demek istediğim aslında “başka bir rol” idi. WordPress’in varsayılan olarak altı rolü vardır: Süper Yönetici
Yönetici
Editör
Yazar
Katkıda bulunan kimse
müşteri
Bu rollerin hepsi bir dizi belirli yeteneğin gruplamalarıdır. Müşterilerin yalnızca okuma özellikleri vardır, katkıda bulunanların da kendi yayınlarını oluşturmalarını/değiştirmelerini/silinmasını sağlayan Delete_Posts ve Edit_Posts vardır.
Rollerin ve yeteneklerin faydaları çoktur. Bu sistem WordPress kullanıcı yönetiminin belkemiğidir ve kullanıcı grubunu ayırmada iyi bir iş çıkarır. Yani, bir yandan faydalanıyoruz çünkü kullanıcılarımızla verimli bir şekilde çalışabiliriz.
WordPress Kullanıcı Yönetimi Arayüzü
Admin WordPress hakkında müşteri görünümü Son olarak, yetenek sistemi, özellikle amacı ve izni kontrol eden Nonce sistemi ile birleştirildiğinde muazzam güvenlik avantajlarına sahiptir. Her işlem yaptığınızda, WordPress uygun yeteneğe sahip olup olmadığınızı kontrol edecektir. Niyeti kontrol etmek için nonces kullanarak yaparsanız ve her şey yolundaysa, eylem yapılır, eğer değilse, aşağıdaki gibi bir hata mesajı alırsınız: Bir şey yapmanıza izin verilmediğinde olan budur, ama yine de dene
Nones’in neden gerekli olduğunu düşünelim. Mesajları silme bağlantıları şöyle görülebilir: http: //wordpress.local/wp-admin/post.php? Post = 1 & aksiyon = sil. Bağlantıyı giren yönetici olarak ziyaret ederseniz, sevkiyat silinir. WordPress nereden geldiğinizi kontrol etmezse, bu bir sorun olabilir. Web sitenizi herhangi bir yerde silmek için bir bağlantı gönderiyorum – üzerine tıklarsanız başınız belada. Bu nedenle, harekete geçme izniniz olduğundan emin olmak için çok iyi, ancak niyeti kontrol etmek için nonce’ye ihtiyacımız var. Daha fazla bilgi edinmek istiyorsanız, NPES hakkındaki makalemize bakın. Eklentiler ve temalar yaparken rolleri ve yetenekleri kullanarak, belirli eylemleri rolle sınırlamak isteyebilirsiniz. Örneğin, bir SEO eklentisi oluşturursanız, kullanımlarını yazarlar, editörler ve yöneticilerle sınırlamak isteyebilirsiniz. Ayrıca sadece yöneticiler için ana seçenekleri sınırlamak istersiniz. Bunu gerçekleştirmek için, mevcut_user_can () () veya mevcut WordPress işlevinin özel parametrelerini kullanacaksınız. İkisini de görelim:
Çekirdek d0f8b862996088491820 içerir
Yukarıdaki örnek, yönetici menüsüne ek üst düzey menü öğelerinin nasıl eklenebileceğini göstermektedir. Add_menu_page () işlevi, menü öğelerini görüntülemek için gereken özellikleri tanımlamak için bir parametreye sahiptir. Bizim durumumuzda, bu bir manage_options’dır, yani varsayılan olarak sadece yöneticinin onu görebileceği anlamına gelir.
Current_user_can () (veya user_can ()) işlevini kullanma yeteneğinizi test edebilirsiniz. Bu yöntemi kullanarak Sil bağlantısını ekrandan gizleyelim:
Çekirdek d0f8b862996088491820 içerir
Her iki durumda da yeteneği kullandığımı unutmayın, ancak gerçekten yapmaya çalıştığım şeyin yöneticiye erişim sağlamak olduğu açıktır. Her zaman yeteneklerinizi kullanmanızın iki nedeni vardır. Muayene fonksiyonunun nasıl oluşturulduğu ile yapılmalıdır. Bazı durumlarda, rolü belirlerseniz, “üstünde” rol değil, sadece bu rol için doğru dönecektir. Daha fazla bilgi için trac bilet #22624’e bakın.
İkinci neden, rol ve kapakların mimarisi (yetenek) ile ilgilidir. Rol, tamamen hakem olan yetenekler listesine ayarlanmış tam bir hakem adıdır. Aslında, bir yöneticinin gerçekten_options’ı yönetme yeteneğine sahip olacağının gerçek bir garantisi yoktur. WordPress gerçekten varsayılan olarak belirler, ancak kodun veya eklentinin yeteneğini kullanmak rolden veya hatta belirli kullanıcılardan eklenebilir/silinebilir. Bu, rol tabanlı kodu kararsız kılar, böylece her zaman yeteneği kullanır.
Özel bir rol yapmak daha büyük ölçekli bir uygulama oluştururken, belki de yalnızca grup kullanıcıları için özel bir role ihtiyacınız olabilir. Kendi reklamlarınızı tüm sitenizde çalıştırırsanız, bir “şirket” rolü yapmak isteyebilirsiniz. Bu rollere dahil olan kullanıcılar, reklamlarının performansını gösteren istatistik sayfalarını görmelerine izin veren özel yeteneklere sahip olabilirler. Bunu tamamlamak için temel kod aşağıdaki gibidir: Add_Role () işlevini kullanarak bir rol oynarız ve Rolün üçüncü parametreye sahip olmasını istiyoruz. İlk parametre rolün adıdır, ikincisi görüntülenen başlıktır.
Çekirdek d0f8b862996088491820 içerir
Add_role () işlevi varsa bir rol oluşturur veya null geri yüklerse, kodunuzun herhangi bir yerinde güvenli bir şekilde kullanabilirsiniz. Bu, bu işlevi her zaman gerçekleştirmek ve aktivasyon kancasına koymak için gerçekten hiçbir neden olmadığını söylüyor. Aşağıdaki daha gelişmiş örneklere bakın:
Çekirdek d0f8b862996088491820 içerir
İki fark var. Her şeyden önce, kodumu aktivasyon işlevine sardım. Bu yalnızca eklenti etkinleştirildiğinde bir kez çalışır ve mevcut değilse bir rol yapar. Buna ek olarak, istediğim tüm yetenekleri yazmak yerine, yazarın rolünün bir listesini kopyalamaya ve daha sonra reklam istatistiklerini görmek için benzersiz bir yetenek eklemeye karar verdim. Bunu yapmak için, yazarın rolünü üstlenmek için get_role () işlevini kullanıyorum ve yeteneklerin bir listesini add_role () işlevinin doğru parametrelerine kopyalıyorum.
WordPress (eski) kullanıcı seviyesi sisteminin 2.0 sürümünden önceki yeni şirketimizin kullanıcı düzeyinin profil bölümünde rolü kullanılır. 2.0’da çok daha iyi bir rol ve yetenek sistemi ile değiştirildi. Level_x at Level_x seviyesi yukarıdaki kod görüntülerinden gelir.
Bu tamamen gerekli değildir ve eminim bugün çok az sistem kullanıyor. Maksimum geriye dönük uyumluluğun emin olmak istiyorsanız, ekleyin, Codex’te veya aşağıdaki ekran görüntüsünde pratik bir kılavuz bulabilirsiniz. Bir kullanıcı seviyesi eklemek istemiyorsanız, çalışmanızın yalnızca 2.0 ve daha yeni sürümle uyumlu olduğunu gösterdiğinizden emin olun.
WordPress’te eski kullanıcı seviyesi sistemi
Çekirdek d0f8b862996088491820 içerir
Özel özellikler, özellikle kullanıcılarla çok etkileşimli bir uygulamanız varsa, sitenizdeki kullanıcı akışını yönetmek için çok kullanışlıdır. Reklam sunucusunu çalıştırabilir ve reklam alıcıları, reklam satıcısı, hesap yöneticisi vb. Bir geliştirici olarak büyük bir varlığı kimin görebileceğini/yapabileceğini kolayca değiştirme yeteneği. Eklenti rolü ve yetenek Scoper’ın rolü
Scoper rolü anal-aktif yöneticiler içindir, bu size rolünüzün ve yeteneğinizin her yönü üzerinde ayrıntılı kontrol sağlar. Herhangi bir kombinasyon almak ve izninizi doğru ayarlamak için yapılmış ve eşleştirin. Aşırıya kaçmamaya çalışın, birçok rol ve karışık şapka korkunç bir manzara olabilir! Scoper rolüyle ilgileniyor mu? İndir
Üye
Üyeler Justin Tadlock-Basicly rol ve yetenek sistemi için ön uç. Bu, rol yapmanıza ve bunlara olan yeteneği belirlemenize ve tüm bunları doğru kullanıcı arayüzünde yönetmenize olanak tanır. Üyelerle ilgileniyor musunuz?
indirmek Yetki Yöneticisi Geliştirildi
Rol ve yetenek modülü için diğer UI ön uç. Bu üye kadar popüler değil, ancak hala 30.000’den fazla aktif kurulum var. Beklediğiniz hemen hemen her şeyi yapar, istekli rolleri ve yetenekleri ekleyebilir/düzenleyebilir/değiştirebilirsiniz. Gelişmiş Yetenek Yöneticisi ile ilgileniyor musunuz?
indirmek WordPress’teki rol ve yetenek sisteminin bir özeti, kullanıcı yönetimi açısından size olağanüstü faydalar sağlasa da çoğunlukla daha az kullanılır. Umarım bu makale size ellerinizi kirletmeniz için cesaret verir! Aşırıya kaçmamayı unutmayın. Düzinelerce yetenekle birçok rol yapmak mümkündür, ancak her zaman bir an durmalı ve bir bütün olarak sistem için en iyi olanı düşünmelisiniz. Genel olarak, bazı yeteneklere sahip bazı roller ihtiyaçların çoğunu karşılamak için yeterli olmalıdır. Özel rollere ve yeteneklere çok bağımlı bir projeniz var mı? Gerçekten seviyor musunuz yoksa WordPress’i sevmiyor musunuz? Bize aşağıdaki yorumlarda anlatın. Etiket:
Hafta Sonu WordPress Projesinin Rolü ve Yeteneği