WordPress kullanıcılarının rolü ve yeteneği ile çalışın
Kullanıcının etkili bir WordPress site yöneticisi olma rolü ve yeteneği hakkında anlamanız gereken birkaç şey vardır: ne tür kullanıcı işleri, yenilerini nasıl yaptığınız ve kullanıcıyı yaptığınız şey için. Bu şeyleri tartışmada birçok değer var, ancak bugün amacımız, WordPress kullanıcılarının tüm yönetiminin ve rol sisteminin kavramsal olarak nasıl çalıştığını gerçekten anlamak ve onu değiştirmenin en önemli yollarını tartışmaktır. WordPress sitesini girebilen her hesap için WordPress kullanıcılarının temelleri “kullanıcılar” ı temsil eder ve her WordPress kullanıcısının bir “rolü” vardır.
WordPress sitesine girebilecek her hesap “kullanıcı” ı temsil eder. Yani, her “giriş”-Parola kullanıcı adları-WordPress’te bir kimlik bilgisi birimidir. Bu kullanıcı hesabı, gönderme, sayfalar, medya vb. Bir WordPress site yöneticisi olarak, yönetici tarafta “Kullanıcılar> Yeni Ekleme” ni açarak yeni kullanıcıları isteyerek yapabilirsiniz. Genel olarak, sitenize girmek istediğiniz herkes için yeni kullanıcılar yapmalısınız. WordPress Yetkilendirme Sistemi ile ilgili başka şeylerin de farkında olabilirsiniz: Her WordPress kullanıcısının bir “rolü” vardır. Yeni bir hesap oluşturduğunuz sayfada seçmelisiniz.
WordPress varsayılan kullanıcılarının rolü Kutunun dışındaki WordPress aşağıdaki rollerle birlikte gelir:
Süper Yönetici: Bu sadece çoklu sitenin rolüdür. Adından da anlaşılacağı gibi, bu daha güçlü bir yönetici sürümüdür. Super Admin yalnızca bir WordPress sitesini yönetici olarak değiştirmek ve kontrol etmekle kalmaz, aynı zamanda ağdaki belirli sitelere kimin erişebileceğini de değiştirebilir. Bu rol olarak adlandırmak iyi bir şey “WordPress Multisite Keymaster” dır. Ancak neden yönetici yerine “süper yönetici” seçtiklerini anlayabiliyorum: bu, kendi WordPress sitenizi girmek için kullanabileceğiniz bir rol. WordPress’in varsayılan olarak sitedeki ilk kullanıcıyı yaptığı şey budur ve bu silahlardaki en güçlü roldür. “Yönetici” WordPress sitesindeki kutunun dışında yapamazsa, kimse tarafından yapılamaz. Eklentiler yükleyin, temaları değiştirin, kullanıcılar yapın, yayınlar vb.
Editör: Bu bir sonraki en güçlü rol. Hayal edebileceğiniz şeyleri medya yazma ve düzenledikten sonra gerekli olan her şeyi yapabilirsiniz, ancak yeni kullanıcılar oluşturamaz veya yeni eklentiler ekleyemez veya Sitenin işlevini değiştiren herhangi bir şey yapamazsınız.
Yazar: Editörden bir adım daha olan yazarın rolü yalnızca kendi yayınlarını ve medyalarını değiştirebilir. Sitedeki diğer kullanıcılarda değişiklik yapamazlar.
Katkıda bulunanlar: Katkıda bulunanlar kendi yayınlarını düzenleyebilir, yaptıkları yayınlanmamış yayınları silebilir ve siteleri okuyabilir. İşte burada. Kendi yayınlarını bile yayınlayamazlar.
Müşteri: Müşterinin rolü sadece şuna yöneliktir: WordPress sitenizde bir hesaba sahip olmak istediğiniz biri, ancak sitenizi hesabı olmayan biri gibi okumaktan başka bir şey yapmak istemezsiniz. Bu rol, WordPress üyelik sitesinin “üyesi” ne en sık görülen şeydir, çünkü bu rol Sitenin üyelik eklentisi üreticisi tarafından verilen şeyden ayrı olarak hakkını sağlamaz. WordPress kullanıcılarının güvenlik için güvenlik etkileri, İhtiyaç duydukları şeyi yapmalarını sağlayan bireylere minimum erişim sağlamak istiyorsunuz.
Bugün odak noktamız olmasa da, her yerde genel güvenlik ilkesine dikkat etmek gerekir: ihtiyaç duydukları şeyi yapmalarına izin veren bireylere minimum erişim sağlamak istiyorsunuz. Bu, bir ülkenin nükleer silahları için olduğu gibi WordPress sitenizde geçerlidir. (Ve bu konu hakkında daha fazla bilgi edinmek istiyorsunuz, güvenlik kurslarımıza bakın, inançlarla WordPress güvenliği.) En çok WordPress sitenizde kullandığınız kullanıcılar genellikle bir yönetici değildir. Bu nedenle, WordPress sitenizde en sık kullandığınız kullanıcıların düzenlemeye, yayınları yayınlamasına, yorum yapmasına vb. – Genel olarak, yönetici olmamalıdır. “Yönetici” nin rolü, WordPress sitesinin (tek, net çalışması olmayan) sahip olduğu en güçlü olanıdır; Yalnızca makaleleri ve diğer medyayı yayınlaması ve düzenlemesi gereken kullanıcılara bu kadar büyük bir güç sağlamak gereksiz güvenlik hatalarıdır.
Normal WordPress yayınlama görevleri için editörün rolü fazlasıyla yeterlidir; Ve gerçekçi olarak, sitedeki tek yazar sizseniz, yazarın rolü olasılığı bunu sizin için yapacaktır. Ancak, diğer rolünüzün yapamayacağı şeyler yapmanız gerektiğinde sadece sahip olduğunuz yönetici kullanıcısına girmelisiniz: yeni kullanıcılar oluşturun, eklentileri yükleyin veya sil, temaları değiştirin, vb. Bu, en sık kullanılan WordPress hesabı uzlaşmanız anlamına gelir – yanlışlıkla kafeye girmesine izin verdiğinizi söyleyin – birisinin sitenizde toplam kaos yapmasına izin vermeyin. Eski hesabı bugün ihtiyaç duyduklarından daha fazla erişimle bırakamazsınız. Aynı şekilde, sadece bir kişinin hesabını, herhangi bir türünü, dikkate alınmadan vermemelisiniz. Ve eski hesabı şimdi ihtiyaç duyduklarından daha fazla erişimle bırakmamalısınız. Birinin siteniz için yazdığını söyleyin, ancak artık müşterileri yapın. Hesapları hala oradadır, bu nedenle yayınları mevcut kalır ve doğru bağlantılıdır, ancak yanlışlıkla sitenizde yapamaması gereken hiçbir şeyi yapamazlar. (Bir kez daha, sadece burada tüm güvenlik teorilerini ele aldım, ancak WPSWC bunu daha derinden tartıştı.)
Yetenek ve rol nasıl oluştu
Şimdiye kadar, farklı kullanıcıların rolünün WordPress sitesinde farklı yeteneklere sahip olduğunu belirledik. Bu aslında WordPress Access kontrol sisteminin çekirdeğidir: Kullanıcı, belirli bir rol verilen bir grup kullanıcının üyesidir ve rolün kendisi sitedeki çeşitli yeteneklerle eşlenir. Bunu daha iyi anlamak için, sağda derecelendirilen kodeksdeki rol sayfasındaki dev grafiği ve yeteneği severdim. Ne yazık ki, kayboldu ve el kitabındaki yeni sürüm görsel olarak hoş değil (yine de yararlı olmasına rağmen). Daha önce bahsettiğim rolü düşürdüğümüzde, rolünüz WordPress’te daha az özel yeteneklere sahip olacaktır. Kullanıcının rolü için Konkret olarak adlandırılma yeteneği, WordPress erişim kontrol sisteminin en güçlü ve kullanışlı özelliklerinden biridir. Kullanıcıları veya belirli özelliklere sahip bir grup kullanıcıyı güçlendirmeniz (veya zayıflatmanız) gerektiğinde, sadece kullanıcının rolünü değiştirerek kolayca yapabilirsiniz. Aynı şekilde, bazen yeni yeteneklere sahip olmak için bir kullanıcı koleksiyonuna ihtiyacınız vardır. Belki editörünüz yorumlar için bir moderatör olarak çalışır ve ayrıca sitenizden kullanıcıları silme olanağına sahip olmalarını istersiniz. (Belki de kurtulmak istediğiniz birkaç gerçek trolünüz var.) Sonra ona bu gücü vermek için editörün rolünü düzenleyebilirsiniz – ve sadece Remove_users adlı bu güç. Çünkü rolünüz ve yetenek sisteminiz, sitenizde 20 editörünüz olduğu gerçeğinden endişe etmeden bunu yapabilir.
Rollerin yeteneğini değiştirmenize izin veren eklentiler
WordPress kullanıcı erişim sisteminin nasıl çalıştığının temellerini anladıktan sonra, az önce bahsettiğim gibi değişiklikler yapabilirsiniz (“kullanıcıları silme”) birkaç şekilde yapabilirsiniz. İlk yol dağınık bir eklenti kullanmaktır. Kullanıcının rol editörü en yaygın olanıdır, ancak diğer insanları seviyorsanız alışveriş yapmaktan çekinmeyin. Tüm bu eklentiler temel olarak size sitenizdeki kullanıcılar tarafından yapılabilecek şeyleri düzenlemek için rahat ve görsel bir yol sunar. Ayrıca, yeni bir rol oluşturmanıza izin verirler-sadece “moderatör türü olan bazı kullanıcılar yapmanız gerekir. Yorum”. Bu rolü yapabilir ve birkaç tıklamada gerekli özellikleri kolayca daralttığınızdan emin olabilirsiniz. Bu eklenti, basit performansları hakkında endişelenmesi gerekmeyen çoğu WordPress kullanıcısı için çok iyidir. Gerçekçi olarak, çoğu site için, bunun gibi küçük eklentiler en büyük engeller değildir, bu nedenle istediğiniz değişiklikleri yapmak için özel eklentinin ek avantajları PHP ile orantılı değildir.
Küresel değişkenleri sevmiyorum.
Get_role sürümü kodu daha iyi okumasını sağlıyor. Her iki durumda da editörlerimizin Remove_users’a izin veren örneğimize devam edeceğiz. Get_role kullanıyorsanız şöyle görünüyor: wps_editor_can_remove_users () {$ editor = get_role (‘editör’) işlevi kullanıyorsanız; $ editor-> add_cap (‘remove_users’); } veya global değişkene erişmeyi tercih ederseniz: işlev wps_editor_can_remove_users () {global $ wp_roles; $ wp_roles-> add_cap (‘editör’, ‘remove_users’); } İlk örnekte, (‘editör’) rolünü almak, benim için add_cap yönteminde ‘editör’ parametresini işler; çalışmak için iyi bir yol. Bu yöntem doğrudan eklentinizde veya işlevinizde çağrılabilir. Add_cap ve remove_cap, sadece aradığınız işlevler değil, nesne yöntemleridir. ADD_CAP ve REVE_CAP’ın (tersi) sadece aradığınız işlev değil nesne yöntemi olduğu açıklanmalıdır. Yani, add_cap (‘editör’, ‘remove_user’) çağıramazsınız: önce Get_Role kullanarak veya $ wp_roles global nesnelerine erişerek bir WP_ROLE nesnesi almalısınız. Yeni WordPress kullanıcılarının rolünü oluşturarak, eklentinin mevcut rol yeteneklerini değiştirmenin yanı sıra yeni bir rol oluşturmanıza izin vereceğini programladık. Bunu kendi PHP’nizde yapmak için Add_Role işlevini kullanırsınız. Üç parametre alır:
Bu rol için salyangoz gibi isimler – ‘yorum_moderator’ deyinBu tür ‘yorum moderatörü’ veya __ (‘Taahhüt Moderatörü’, ‘Eklenti-Slug’) adını görüntüleyin, eğer bu tür kullanıcıya ait olmak istediğiniz uluslararası yeteneklerden endişe ediyorsanız
Genel olarak, şu gibi görünüyor: register_activation_hook (__file__, ‘wps_add_roles_on_activation’); işlev wps_add_roles_on_activation () {add_role (‘yorum_moderator’, __ (‘komisyon moderatörü’, ‘eklenti-slug’), dizi (‘okuma’ => true, ‘edit_posts’ => true, ‘edit_other_posts’ ‘=> true,’ moducate_comments ‘=> true)); } Özet uğruna, bu rol sadece dört yetenek kazanır. Moderatör yorumları ılımlı yorumlar yapabilir ve yayında küçük değişiklikler ve düzeltmeler yapabilir (belki de yorumlara yanıt olarak). Kendi yayınlarını, diğer insanların yayınlarını ve yayınlanan yayınlarını değiştirebilirler. Tüm bu rol yapılabilir, başka bir şey yok. Bir kez daha, yeni rol veritabanında saklanır ve gerektiğinde WordPress tarafından oradan yeniden yüklenir, eklentiniz (veya temada oluşturursanız tema yapabilirsiniz – ve genellikle – yapabilirsiniz – ‘olmalı’
t) etkinleştirildi. INIT eylemiyle ilişkilendirirseniz hiçbir şeye zarar vermez, ancak performans biraz eksiktir. Bazı kullanıcıların WordPress rol sistemini görmezden gelme ve kullanıcılar için özel yetenekler sağlama yeteneğini değiştirmek mümkündür, ancak çok nadiren en iyi çözümdür. Şimdiye kadar, kullanıcının rolü tarafından verilen ve yönetilen WordPress yeteneklerinin kullanımını tartıştık. Neredeyse tüm durumlarda erişimi değiştirmek, kontrol etmek ve değiştirmek için yaptığınızı öneriyorum. Bu, her kullanıcının sitenizde yaptığı şeyleri manuel olarak kontrol etmeye çalışmaktan daha güçlü ve esnek bir sistemdir. Bununla birlikte, birkaç kez sadece az ya da çok güce ihtiyaç duyan belirli kullanıcılarla uğraşmanız gerekebilir ve diğer kullanıcıları asla konum tarihinde aynı şekilde güçlendirmek (veya zayıflatmak) istemeyeceğinizi biliyorsunuz. Doğru değilse, bir rol yapmak için birkaç adım daha yapın, bu sadece bu kullanıcı tarafından şimdilik elde edilir. Bazı kullanıcıların yeteneğini gerçekten değiştirmek istiyorsanız, bunu kullanıcının kendisinde add_cap ve remove_cap yöntemiyle yapabilirsiniz. Görünüşe göre: add_action (‘init’, ‘wps_david_cant_dit’); işlev wps_david_cant_dit () {$ user_id = 7; // USER USER = new WP_USER ($ user_id) kullanıcısının kimliği; $ user-> remove_cap (‘edit_posts’);