web-dev-qa-db-fra.com

Quelle est la différence entre les fonctionnalités "create_users" et "add_users"?

Le codex répertorie à la fois create_users et add_users sous rôles et fonctionnalités .

Est-ce que quelqu'un sait quelle est la différence entre ces deux?

2
Sudar

J'ai exploré WordPress pour trouver la différence entre cela et dans le fichier schema.php, j'ai trouvé la fonction suivante uniquement là où la fonctionnalité add_users de WordPress est utilisée.

/**
 * 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' );
}
}

D'après le commentaire écrit dans le code, je pense que la fonctionnalité add_users n'est utilisée que pour des raisons de compatibilité ascendante et peut être supprimée dans les versions ultérieures de WordPress. Nous devrions donc utiliser la fonctionnalité create_users au lieu de la fonctionnalité add_users.

9
Vinod Dalvi

Je ne suis pas tout à fait sûr, mais après tout, WordPress les a ajoutés lorsque les méta-fonctionnalités pour les types Post ont été ajoutées. Il existe une foule de fonctionnalités pour les publications, les pages et les CPT qui peuvent être mappés sur les majuscules par défaut *_post ou définis sur des personnalisations telles que create_issues pour un CPT issues. Et comme create_posts est venu avec l'une des versions les plus récentes, je suis à peu près sûr qu'il en va de même pour create_users.

  • Vous ne pouvez créer un utilisateur que si vous avez promote_users.

Disons que nous aimerions donner à un éditeur des fonctionnalités supplémentaires concernant les utilisateurs:

  • list_users fait exactement ce qu'il dit.
  • edit_users lui permet de modifier les comptes d'utilisateurs avec un rôle inférieur (auteur/contributeur/abonné).
  • create_users ne fonctionne pas du tout sans promote_users (renvoie "Vous ne disposez pas des autorisations suffisantes pour accéder à cette page.").

Je ne sais pas quand les correctifs vont entrer (ils ont l'état "commit" depuis deux ans).

3
kaiser