Wordpress'te Kullanıcı Yetkilerini (Rolleri) Ayarlama Ve Yönetme
Slmlar bugünkü videomuzda wordpress'te kullanıcı rollerini kodlar ile nasıl kontrol edip yönetebiliriz bunu anlatıcam. kullanıcı rolleri ile herşey yapılabilir. örnek vermek gerekirse ücretli üyelik sistemi,uye rütbe sistemi gibi bir çok şeyi yapabilirsiniz. isterseniz hemen başlayalım.
Bu arada şunuda sölemek istiyorum 80 milyonluk türkiye cumhuriyetinde böle bir dersi anlatan olmamış ilginç olan yabancı kaynaklar da da bulamadım genelde hep eklenti anlatılmış bilmiyorum belkide ingilizce bilmediğim için doğru bir arama yapamamış olabilirim, neyse dersimizde başlayalim..
WordPressin kendi içinde bulunan 5 tane rolü mevcttur. bu rolleri eklenti kullanmadan malesef göremeyirosunuz. biz rolleri kodlar ile kontrol edeceğiz ama görmemiz lazım bu yüzden eklentiyi kurmak gerekiyor. Bu linkten kullanacağımız eklentiye ulaşabilirsiniz...
Bir role özellik eklemek için aşağıdaki kodu kullanıyoruz. bunları tema dosyanızın içindeki functions.php dosyasının en altına ekleyebilirsiniz.. wp-content -> themes -> kullandığınız tema klasoru -> functions.php
$role = get_role( 'subscriber' );
$role->add_cap( 'read' );
print_r($role);
exit;
Kullanıcının rölüne özel bir yetenek atamak içinde aşağıda kodu kullanıyoruz..$user = new wp_user(get_current_user_id());
$user->add_cap( 'read' );
Kullanıcının rolunu değiştirmek için bu kodu kullanabilirsiniz..$user = new wp_user(get_current_user_id());
$user->set_role( 'editor' );
Rol içindeki özelliği kaldırmak için remove_cap fonksiyonunu kullanıyoruz..$role = get_role( 'subscriber' );
$role->remove_cap( 'read' );
Kısaca rollerin kullanımı bu şekildedir. tabi burda rolleri bir kurala göre kullanmak gerekiyor. çünkü sayfaya giren her kullanıcıya Bu roller atanır. çünkü sayfa yenilendiği anda çalışır. if(get_user_rank() == 'usta_yorumcu' && $user->roles[2] != 'editor') {
$user = new wp_user(get_current_user_id());
$user->set_role( 'editor' );
}
Hepsi bukadar kullanıcının yorum sayısı 10 olduğunda rütbesi usta_yorumcu olucak get_user_rank() fonksiyonu bu değeri almamızı sağlıyor.
Bu yorum yazar tarafından silindi.
YanıtlaSil