Online Kimya Özel Dersi Al

ÜCRET

KONU

TARİH

5.5 Temayı Özelleştirme Yetkisi Verme ve Kullanıcı Rolleri – Yetenekleri

wordpress tema yapımı

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.....';
}

DERSİN SONU

Kimya Özel Dersi Al

Yorum yaparak bize destek olabilirsiniz.

1 yorum: “5.5 Temayı Özelleştirme Yetkisi Verme ve Kullanıcı Rolleri – Yetenekleri”

Bir cevap yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu kadar HTML serbest:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>