Editör Rolünün Tema Ayarlarını değiştirmesine nasıl izin verebilirim?


22

Sadece bir arkadaş için yeni bir Blog hazırladım ve ona bir önlem olarak derhal Yönetici Erişimi vermemenin daha iyi olacağını düşündüm.

Editör olarak yeni bir kullanıcı yarattım.

Ancak daha sonra bu kullanıcının Arkaplan ve Başlık gibi Tema Ayarlarını değiştiremeyeceğini gördüm.

Editör Rolünün Yirmi On veya Bir Çocuğundaki herhangi bir tema ayarını düzenlemesine izin vermenin kolay bir yolu var mı? Temel olarak bir Yönetici'nin yapabileceği her şeyi yapabiliyor olmalıdır. Tema, muhtemelen temaları değiştiriyor.


2
Hatırlatıyor… Bunun için bir eklenti yazdım: Editörler için tema seçenekleri
fuxia

Yanıtlar:


21

rol nesnesini kullanarak editör rolüne yetenekler ekleyebilir ve sizden add_cap ekleyebilirsiniz.

<?php
   // get the the role object
   $editor = get_role('editor');
   // add $cap capability to this role object
   $editor->add_cap('edit_theme_options');
?>

Ayrıca yetenekleri kaldırabilirsiniz:

$editor->remove_cap('delete_posts'); 

sadece yetenekler listesine ve her birinin ne anlama geldiğine bir göz atın .


3
Harika, işe yaradı! Shorties için: get_role('editor')->add_cap('edit_theme_options');:)
hakre

1
@hakre böyle Bilginize Doğrudan değişken atamaları a()->b()olacak PHP sürümlerinde değil çalışma öncesinde 5.
hitautodestruct

Roller tipik olarak veritabanında saklandığı için, güncelleme rolleri bir eklentide ve orada etkinleştirme / devre dışı bırakma kancası içinde yapılmalıdır. Bu kodu her WordPress işleminde çalıştırmak gerekli değildir.
David,

6

Bu, bu soru için google’da ilk hit olduğu için, bunun bir güncelleme için doğru yer olduğunu düşünüyorum:

Benim için çalışmasını alamadım edit_theme_options. Sonra eklenti kaynağını okudum ve aslında olduğunu öğrendim manage_options. Ve işe yaradı.

tl; dr:

$role_object = get_role( 'editor' );
$role_object->add_cap( 'manage_options' );

benim için çalışıyor (2014 yılında)


Harika şeyler dostum ...
Abbas

WP> 4.0$role_object->add_cap('customize');
Alex


1

Bir başka büyük eklenti ise Kullanıcı Rolü Düzenleyicisidir (http://wordpress.org/extend/plugins/user-role-editor/). Üyelere benzer, ancak kullanımı çok daha basit ve basittir. Ayrıca, geliştiriciler her zaman geri bildirimleri dinlemek ve gerektiğinde yardım önermek üzeredir.


0

Bu eski, ama işte bunu başarabilmenin yeni bir yolu:

add_filter( 'user_has_cap',
function( $caps ) {
    if ( ! empty( $caps['edit_pages'] ) )
        $caps['edit_theme_options'] = true;
    return $caps;
} );
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.