Qual é a diferença entre os recursos “create_users” e “add_users”?

2

O códice lista os create_users e add_users em funções e recursos .

Alguém sabe qual é a diferença entre esses dois?

    
por Sudar 28.03.2013 / 06:18

2 respostas

9

Eu explorei o WordPress para encontrar a diferença entre ele e no arquivo schema.php, encontrei a seguinte função somente onde o recurso add_users do WordPress é usado.

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

Com base no comentário escrito em código, acho que o recurso add_users é usado apenas para compatibilidade com versões anteriores e pode ser removido em versões futuras do WordPress, portanto devemos usar o recurso create_users em vez do recurso add_users.

    
por Vinod Dalvi 28.03.2013 / 07:15
3

Eu não estou completamente certo, mas o afaik WordPress adicionou aqueles quando os recursos meta para os tipos Post foram adicionados. Existem vários recursos para postagens, páginas e CPTs que podem ser mapeados para o padrão *_post caps ou definidos para personalizados como create_issues para um issues CPT. E como create_posts veio com uma das versões mais atuais, tenho certeza que o mesmo vale para create_users .

  • Você não pode criar um usuário, a menos que tenha promote_users .

Digamos que gostaríamos de fornecer ao editor alguns recursos extras relacionados aos usuários:

  • list_users faz exatamente o que diz.
  • edit_users permite que ele edite contas de usuário com uma função inferior (autor / colaborador / assinante).
  • create_users não funciona de forma alguma sem promote_users (retorna "Você não tem permissões suficientes para acessar esta página").

Não tenho certeza de quando os patches serão movidos (eles terão estado "commit" para dois anos agora).

    
por kaiser 28.03.2013 / 09:19