BU DERSİN BAŞLIKLARI
Normal koşullarda, WordPress temalarını düzenlemek için, yönetim panelinden gidilen Görünüm->Özelleştir sayfası, sadece site adminine açıktır. Fakat, bu kural değişmez değildir.
Aşağıdaki kod ile, sitemize editör düzeyinde kayıtlı olan bütün kullanıcıların da temamızı özelleştirmesine izin verebiliriz.
functions.php
$role = 'editor';
$kullanici= get_role( $role );
$kullanici->add_cap( 'edit_theme_options' );
Bir kullanıcıya, yukarıdaki kodlar ile bir yetenek bağışladığınızda, bu kodları silseniz bile o kullanıcı bağışladığınız bu yeteneği kullanmaya devam eder. Çünkü bu bağış veritabanına kaydedilir ve biz ilgili kodu kaldırdığımızda bu bilgi veritabanından silinmiş olmaz.
Yukarıda bağışladığımız yeteneği şu şekilde geri alabiliriz:
functions.php
$role = 'editor';
$kullanici= get_role( $role );
$kullanici->remove_cap( 'edit_theme_options' );
Aynı yetkiyi şu kod ile de verebiliriz:
functions.php
add_filter( 'user_has_cap',
function( $caps ) {
if ( ! empty( $caps['edit_pages'] ) )
$caps['edit_theme_options'] = true;
return $caps;
} );
Kullanıcı Rolleri
WordPress sitesindeki kayıtlı kullanıcıların rolleri şunlar olabilir:
- Super Admin: WordPress multisite kurulumundaki en yetkili kullanıcıdır. Ana site ve bütün alt siteler için tam yetkiyle donatılmıştır.
is_super_admin()
fonksiyonu ile ulaşılır. - Administrator (
'administrator'
): Normal bir WordPress kurulumunda (multisite olmayan) bütün yetkileri üzerinde taşıyan kullanıcıdır. - Editor (
'editor'
): Editördür. WordPress bloğunda içerik ekleyip kaldırabilir. - Author (
'author'
): Yazardır. Yazı ekleyebilir. Sadece kendi yazdığı yazıları düzenleyebilir veya silebilir. - Contributor (
'contributor'
): İçerik sağlayıcıdır. Kendi yazılarını yazabilir ya da düzenleyebilir fakat yayınlayamaz. - Subscriber (
'subscriber'
): Abonedir. Sadece kendi profilini düzenleyebilir.
Rollere Göre Yetenekler
WordPress sitelerindeki kullanıcı rollerinin belli yetenekleri vardır. Bu yetenekler bir rolü diğerinden ayıran en temek farklardır. Aşağıda her bir kullanıcı rolünün sahip olduğu yetenekler listelenmiştir:
Super Admin
- create_sites
- delete_sites
- manage_network
- manage_sites
- manage_network_users
- manage_network_plugins
- manage_network_themes
- manage_network_options
- upgrade_network
- setup_network
Administrator
- activate_plugins
- delete_others_pages
- delete_others_posts
- delete_pages
- delete_posts
- delete_private_pages
- delete_private_posts
- delete_published_pages
- delete_published_posts
- edit_dashboard
- edit_others_pages
- edit_others_posts
- edit_pages
- edit_posts
- edit_private_pages
- edit_private_posts
- edit_published_pages
- edit_published_posts
- edit_theme_options
- export
- import
- list_users
- manage_categories
- manage_links
- manage_options
- moderate_comments
- promote_users
- publish_pages
- publish_posts
- read_private_pages
- read_private_posts
- read
- remove_users
- switch_themes
- upload_files
- customize
- delete_site
Tek Site Kurulumunun Administratorü veya Multisite Kurulumunun Super Admini
- update_core
- update_plugins
- update_themes
- install_plugins
- install_themes
- delete_themes
- delete_plugins
- edit_plugins
- edit_themes
- edit_files
- edit_users
- add_users
- create_users
- delete_users
- unfiltered_html
Editor (Editör)
- delete_others_pages
- delete_others_posts
- delete_pages
- delete_posts
- delete_private_pages
- delete_private_posts
- delete_published_pages
- delete_published_posts
- edit_others_pages
- edit_others_posts
- edit_pages
- edit_posts
- edit_private_pages
- edit_private_posts
- edit_published_pages
- edit_published_posts
- manage_categories
- manage_links
- moderate_comments
- publish_pages
- publish_posts
- read
- read_private_pages
- read_private_posts
- unfiltered_html (Multisite kurulumu hariç)
- upload_files
Author (Yazar)
- delete_posts
- delete_published_posts
- edit_posts
- edit_published_posts
- publish_posts
- read
- upload_files
Contributor (İçerik Sağlaycı)
- delete_posts
- edit_posts
- read
Subscriber
- read
Kullanıcı Yeteneklerinin ve Rollerinin Kullanımı
Yukarıda verilen rolleri veya yetenekleri kullanarak koşullu içerikler üretebilirsiniz. Bunu için current_user_can()
fonksiyonunu kullanmanız yeterli olacaktır.
Aşağıda, kullanıcı yetenekleri için bu fonksiyonun kullanımına bir örnek verilmiştir:
functions.php
// Sitedeki kullanıcı girişi yapan kişi, yönetici yeteneklerine sahip değilse ('manage_options')
// sitenin ön yüzünde görünen admin barı gösterme
if ( ! current_user_can( 'manage_options' ) ) {
add_filter( 'show_admin_bar', '__return_false' );
}
Aşağıda, kullanıcı rolleri için bu fonksiyonun kullanımına dair bir örnek verilmiştir:
functions.php
// Sitedeki kullanıcı bir editör ise
if ( current_user_can( 'editor' ) ) {
echo 'Editörlerimize özel duyurudur.....';
}
1 yorum: “5.5 Temayı Özelleştirme Yetkisi Verme ve Kullanıcı Rolleri – Yetenekleri”