Editöre Kenar Çubuğuna Erişim Verme


15

Kenar Çubuğunu ve içeriğini düzenlemeye Editör Rolüne erişim vermek istiyorum. Orada bir metin widget var ve bu metin widget düzenlemek için kullanıcı bir yönetici olması gerekir - bu berbat. Editör Rolüne kenar çubuğunu düzenlemesine erişim sağlayacak nasıl izin verebilirim?



Aradığım şey gibi görünüyor ama kodu anlamıyorum. Yeni bir kullanıcı oluşturmak ve mevcut bir kullanıcıyı düzenlemek yerine rol atamak gibi görünüyor
Howdy_McGee

Yanıtlar:


21

Bu edit_theme_optionsözellik kullanıcının kenar çubuğunu şu sayfada açıklandığı gibi düzenlemesine izin vermelidir: http://codex.wordpress.org/Appearance_Widgets_SubPanel

Eklenecek kod functions.php

   $role = get_role('editor'); 
   $role->add_cap('edit_theme_options');

Düzenle:

Bu, düzenleyicinin temalara veya menülere erişmesini önlemek için çalışmalıdır

function custom_admin_menu() {

    $user = new WP_User(get_current_user_id());     
    if (!empty( $user->roles) && is_array($user->roles)) {
        foreach ($user->roles as $role)
            $role = $role;
    }

    if($role == "editor") { 
       remove_submenu_page( 'themes.php', 'themes.php' );
       remove_submenu_page( 'themes.php', 'nav-menus.php' ); 
    }       
}

add_action('admin_menu', 'custom_admin_menu');

Bunu test etme şansım olmadı, ancak bunları yalnızca doğrudan URL'yi yazarak erişebilecekleri menüden kaldırıyor.


Bu bir cazibe gibi çalışır, ancak menü veya temalara erişmelerini nasıl önleyebilirim?
Howdy_McGee

Düzenlenmiş cevabımı görün.
Elliott

Ölümcül Hata: undefined fonksiyonuna çağrı remove_menu_page () - Ayrıca URL ile yazmaları konusunda endişelenmiyorum Gerçekten birinin kötü niyetli olacağından şüpheliyim ve bu yüzden sadece temalar ve menüler. Ve gönderinizi yeterince + 1'leyemiyorum! Teşekkürler!
Howdy_McGee

Üzgünüm yanlış kodu eklediniz, remove_submenu_pageancak yine de ölümcül hatayı almamalısınız. Cevabımı düzenledim ve test ettim ve hepsi benim için iyi çalışıyor mu?
Elliott

1
Oh bu yüzden o zaman sadece 3.1.0 beri desteklenmiş olurdu, ben yükseltme beri hiçbir hata oldu ... Ben her zaman güvenli tutmak için en son sürüme yükseltme öneriyoruz.
Elliott

1

Bunu mümkün olduğunca kolay yapılandırmak istiyorsanız, Üyeler eklentisini kullanın. Eklemeniz gereken yetenek 'edit_theme_options'. Bunun yalnızca widget alanlarından daha fazlasını vereceğini unutmayın, bu da editöre tüm Görünüm menüsüne erişim izni verir. Buraya bakın

http://wordpress.org/extend/plugins/members/

Bunu programlı olarak yapmak istiyorsanız, add_cap () kullanmanız gerekir.

$editor = get_role('editor');
$editor->add_cap('edit_theme_options');

Bu kodu kendi eklentisine atabilirsiniz ve işiniz bitti. Veya işlevlere koyun . Php .


Herkes oldukça popüler Kullanıcı Rolü Düzenleyicisi'ni kullanıyorsa, orada 'Tema Seçeneklerini Düzenle' / 'edit_theme_options' seçeneğini de seçebilirsiniz.
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.