Wp_ veritabanında tanımlanmış Roller nerede bulunur?


10

Çok siteli bir ağda kullandığım bir eklentinin özel beta sürümünü test etmek için listeye girdim.

Eklenti yazarlarının özel bir rol eklemek için kodu var. Kullanıcıya tek bir özel rolü dışında herhangi bir rol verme yeteneğini ortadan kaldıran bir hata var.

Ziyaret ettiğimde ../wp-admin/network/site-users.php, "Kullanıcı Ekle" rol açılır menüleri yalnızca bu eklentinin eklediği rolü gösterir. Rol değiştirme açılır menüsü, tüm WP varsayılan rollerinin yanı sıra bu ve diğer eklentilerin eklediği birkaç ek rol gösterir. Bir kullanıcıyı bu rollerden birine değiştirmeye çalışırsam, "Kullanıcılara bu rolü veremezsiniz" hata sayfasını alıyorum.

Bunu geliştiriciyle tartışıyordum ve şaşkın görünüyorlar.

Veritabanımı ve kodeksini araştırdım ve geçerli rollerin nerede tanımlandığını bulamıyorum.

Yanıtlar:


27

Kullanıcı rolleri wp_optionstabloda saklanır .

opsiyon adını aramak wp_user_rolesiçinde wp_optionsmasaya.


13

Kullanıcı Rolleri tabloda saklanır wp_user_meta

Kullanıcı rollerini kontrol etmek için, önce tablodaki kullanıcı kimliğine göz atın wp_users(Sütun adı kimliği)

Şimdi tablosuna gidin wp_usermetave sütun nerede arama user_idolduğunu maçları kimliği eşittir IDgelen wp_usersmasaya.

Sen seçilmiş kullanıcı, aldığı satırın meta veri ile satırların listesini alacak meta_keyşekilde wp_capabilitiestanımlayıp kullanıcı rolü.

Değeri wp_capabilitiesiçin

  • Yönetici: a:1:{s:13:"administrator";b:1;}
  • Woo Ticaret Müşterisi: a:1:{s:8:"customer";b:1;}

Cevabınız bir rolün kullanıcıya atanmasıyla ilgilidir . OP, wp_options içinde saklanan rol tanımlarını kendileri soruyordu.
Brett Donald
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.