Как установить роль пользователя по умолчанию в WordPress?

У меня есть веб-сайт, который использует Wishlist Member для управления регистрацией и BBPress.

Я могу назначить роль пользователю при регистрации на форумах. Однако я не могу назначить им роль для веб-сайта, которую WordPress использует, чтобы разрешить пользователям доступ к их профилю по адресу http://www.domainname.com/wp-admin/profile

Любые идеи о том, как я могу разрешить пользователям доступ к их профилю, если они хотят изменить свой пароль или загрузить изображение и т. Д.

Я установил роль по умолчанию в WordPress для новых пользователей как «Наблюдатель», но когда я создаю новых пользователей, роль пользователя не устанавливается.


person chell    schedule 25.02.2015    source источник
comment
Google - ваш друг: wordpress.stackexchange.com/questions/9775/   -  person Steven    schedule 25.02.2015
comment
Спасибо, Стивен, я посмотрел на этот ответ. Я был обеспокоен тем, что это может не сработать, потому что для пользователя не установлена ​​роль.   -  person chell    schedule 26.02.2015


Ответы (1)


Google по-прежнему ваш друг.

Из EarnestoDev (установить роль по умолчанию):

// Hijack the option, the role will follow!
add_filter('pre_option_default_role', function($default_role){
    // You can also add conditional tags here and return whatever
    return 'subscriber'; // This is changed
    return $default_role; // This allows default
});

https://wordpress.stackexchange.com/questions/31791/how-do-i-programmatically-set-default-role-for-new-users

Fromt t310s (изменить роль пользователя):

// NOTE: Of course change 3 to the appropriate user ID
$u = new WP_User( 3 );

// Remove role
$u->remove_role( 'subscriber' );

// Add role
$u->add_role( 'editor' );

https://wordpress.stackexchange.com/questions/4725/how-to-change-a-users-role

От mike23 (сменить роль пользователя):

$my_user = new WP_User( $user_id );
$my_user->set_role( "editor" );

https://wordpress.stackexchange.com/questions/22962/how-to-programmatically-add-a-user-to-a-role

От Дэна Гилмора (сменить роль на мультисайте):

//Short version
$user_id = $result['user_id'];
$user = new WP_User($user_id);
$user->remove_role('owner');
$user->add_role('administrator');

http://dangilmore.com/blog/2011/10/19/programatic-changing-users-roles-in-wordpress-multisite/

person Steven    schedule 26.02.2015
comment
Спасибо Стивен, ты рок-звезда - person chell; 27.02.2015