WordPress klon rolü nasıl oluşturulur


25

Mevcut rolün aynı özelliklerine sahip yeni rol oluşturma. Örn: Aynı yönetici veya editör gibi yeteneklerle yeni bir rol oluşturmak istiyorum.


Ne denedin Ne işe yaradı? Ne yapmadı? Üyeler Eklentisini denediniz mi? Veya Yetenek Yöneticisi Eklentisi ? İstediğiniz şeyleri yapıyorlar mı?
soulseekah 19:11

Her şeyi görsel olarak yapmak istiyorsanız Kullanıcı Rol Düzenleyicisini kullanabilirsiniz :)

Yanıtlar:


33

Bunu dene ... Bu işe yaramalı.

<?php
add_action('init', 'cloneRole');

function cloneRole()
{
    global $wp_roles;
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();

    $adm = $wp_roles->get_role('administrator');
    //Adding a 'new_role' with all admin caps
    $wp_roles->add_role('new_role', 'My Custom Role', $adm->capabilities);
}
?>

Kontrol et.


Dikkat et!! Bu, eklentiler rol ve yetenek eklemeden önce rolü klonlar gibi görünüyor. Bunun daha iyi olup olmadığını görmek için admin_init'i deneyeceğim.
spankmaster79

@ spankmaster79 Evet, lütfen bu harika olacak!
Rutwick Gangurde

@ RutwickGangurde daha iyi sonuç vermedi. Rol eklenti tarafından hala göz ardı ediliyor
spankmaster79

4

Her zaman Kullanıcı Rol Düzenleyici eklentisini kullanabilirsiniz;

  1. Eklentiyi yükle
  2. Kullanıcılara Git> Kullanıcı Rol Düzenleyici
  3. Sağdaki "Rol Ekle" yi tıklayın
  4. Kopyalamak istediğiniz rolü, iletişim kutusundaki "Kopyayı al" açılır menüsünden seçin
  5. İletişim kutusundaki "Rol Ekle" yi tıklayın

0

Diyelim ki editörü klonlamak istiyorsunuz.

$edr = $wp_roles->get_role('Editor');
add_role('clonerole', 'clone roles', $edr->capabilities);

0

Benim durumumda çalışan sistem şudur:

<?php
add_action('init', 'cloneRole');

function cloneRole() {
 $adm = get_role('administrator');
 $adm_cap= array_keys( $adm->capabilities ); //get administator capabilities
 add_role('new_role', 'My Custom Role'); //create new role
 $new_role = get_role('new_role');
  foreach ( $adm_cap as $cap ) {
   $new_role->add_cap( $cap ); //clone administrator capabilities to new role
  }
}
?>
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.