友人のために新しいブログを設定しましたが、予防措置としてすぐに管理者アクセス権を与えない方が良いと考えました。
そのため、エディターとして新しいユーザーを作成しました。
しかし、その後、このユーザーは、背景やヘッダーなどのテーマ設定を変更できないことがわかりました。
エディターロールがTwenty Tenまたはその子のテーマ設定を編集できるようにする簡単な方法はありますか?基本的に、管理者が登録できるすべてのことを行えるはずです。テーマ、おそらくテーマを変更します。
友人のために新しいブログを設定しましたが、予防措置としてすぐに管理者アクセス権を与えない方が良いと考えました。
そのため、エディターとして新しいユーザーを作成しました。
しかし、その後、このユーザーは、背景やヘッダーなどのテーマ設定を変更できないことがわかりました。
エディターロールがTwenty Tenまたはその子のテーマ設定を編集できるようにする簡単な方法はありますか?基本的に、管理者が登録できるすべてのことを行えるはずです。テーマ、おそらくテーマを変更します。
回答:
functions.phpのロールオブジェクトとadd_capを使用して、エディターロールに機能を追加できます。
<?php
// get the the role object
$editor = get_role('editor');
// add $cap capability to this role object
$editor->add_cap('edit_theme_options');
?>
機能を削除することもできます。
$editor->remove_cap('delete_posts');
get_role('editor')->add_cap('edit_theme_options');
a()->b()
5より前のPHPバージョンでは機能しません。
これはこの質問に対するグーグルでの最初のヒットであるため、これは更新のための適切な場所だと思います:
私にとっては、で動作させることができませんでしたedit_theme_options
。次に、プラグインのソースを読んで、それが実際にあることを知りましたmanage_options
。そしてそれは働いた。
tl; dr:
$role_object = get_role( 'editor' );
$role_object->add_cap( 'manage_options' );
私のために働く(2014年)
$role_object->add_cap('customize');
「edit_themes」機能は必要ありませんか?Justin Tadlocksプラグインhttp://wordpress.org/extend/plugins/members/を使用して、各ロールに関連付けられた機能を編集できます。
これは古いですが、これを実現できる新しい方法があります。
add_filter( 'user_has_cap',
function( $caps ) {
if ( ! empty( $caps['edit_pages'] ) )
$caps['edit_theme_options'] = true;
return $caps;
} );