web-dev-qa-db-ja.com

Wp-adminで(ロールではなく)ユーザーに機能を直接付与する方法を教えてください。

WP_Role :: add_cap() を使って動的な機能を作りたい。

$author_role = get_role('author');

foreach ($sections as $section) {
    $author_role->add_cap( "edit_{$section}_pages", /* grant= */ false );
}

そして、管理者に、wp-adminで特定の作者にのみこれらの機能の一部を許可するようにさせます(たとえば、Janeはedit_school_pagesを編集できます)(WP_User :: add_cap()によってプログラムでnot))。

私はプラグインがこれを手助けすることができると思いますが、私が見つけたもの(例えば Capability Manager )は直接機能をユーザに与えるのではなく私は間違っている可能性がありますが。

助言?ありがとう、S

2
sam

WP_user::add_cap() クラスを使用して直接機能をユーザに割り当てることができます

//to remove capability from user
$user = new WP_User( $user_id );
$user->remove_cap( 'can_email');

//to add capability to user
$user = new WP_User( $user_id );
$user->add_cap( 'can_email');

出所 - https://wordpress.stackexchange.com/a/60433/17968

4
amit

私はそこにいる、私は this pluginを使い始めている。

編集中です '原因は悪い答えでした。だから、私が使い始めているプラ​​グインは ' Role Scoper for Wordpress 'です。私は異なる役割を持つ必要がありますが、まず第一に、私は「投稿ごとに」適切に割り当てる必要があります。このプラグインはちょっとしたトリックでそれをしているようです。私はもっ​​ともっと試すことができるように私はずっと良く書くことができるでしょう。

2

機能はロールに対する権限です。それらの役割はユーザーに拡張され、ユーザーが実行できることが決まります。ロールを使用するのは、ユーザーごとに権限を管理しないようにするためです。

必要な機能を達成するための最善の方法は、必要な機能セットごとに新しい役割を作成し、メンバー管理プラグインを使用して各役割にユーザーを割り当てることです。

1
Matthew Muro