web-dev-qa-db-ja.com

「create_users」と「add_users」の機能の違いは何ですか?

コーデックスでは、create_usersadd_usersの両方が ロールと機能の下にリストされます .

誰もがこれら2つの違いを知っていますか?

2
Sudar

私はWordPressでschema.phpファイルとの違いを見つけるためにWordPressを調べました。私はWordPressでadd_users機能が使用されている場合にのみ次の関数を見つけました。

/**
 * Create and modify WordPress roles for WordPress 3.0.
 *
 * @since 3.0.0
 */
function populate_roles_300() {
$role =& get_role( 'administrator' );

if ( !empty( $role ) ) {
    $role->add_cap( 'update_core' );
    $role->add_cap( 'list_users' );
    $role->add_cap( 'remove_users' );

    // Never used, will be removed. create_users or
    // promote_users is the capability you're looking for.
    $role->add_cap( 'add_users' );

    $role->add_cap( 'promote_users' );
    $role->add_cap( 'edit_theme_options' );
    $role->add_cap( 'delete_themes' );
    $role->add_cap( 'export' );
}
}

コードに書かれたコメントに基づいて、私はadd_users機能は下位互換性のためにのみ使用され、将来のバージョンのWordPressで削除できると思うので、add_users機能の代わりにcreate_users機能を使用するべきです。

9
Vinod Dalvi

私は完全にはわかりませんが、Postタイプのメタ機能が追加されたときには、よく知られたWordPressがそれらを追加しました。デフォルトの*_post capsにマッピングすることも、issues CPTのcreate_issuesのようなカスタムのものに設定することもできる、投稿、ページ、CPTのための機能がたくさんあります。そして、create_postsがより新しいバージョンの1つと一緒に来たとき、私は同じことがcreate_usersにも起こると確信しています。

  • あなたがpromote_usersを持っていない限り、あなたはユーザーを作成することができません。

ユーザーに関する追加機能をエディタに追加したいとします。

  • list_usersはちょうどそれが言うことをします。
  • edit_usersは彼が劣った役割(作者/寄稿者/購読者)でユーザーアカウントを編集することを可能にします。
  • create_usersは、promote_usersがないとまったく機能しません(「このページにアクセスするための十分な権限がありません」を返します)。

いつ パッチ が動くのかわかりません(2年の間コミット状態になりました)。

3
kaiser