Voor onze WordPress Multisite heb ik de volgende Plug-in geschreven om gebruikers die zich registeren automatisch toe te voegen aan de site waar de gebruiker kan inloggen.
Dit wordt veel gevraagd op internet en eerlijk gezegd begrijp ik niet goed waarom dat niet een standaard functie is.
Om het helemaal mooi te maken zou er nog een instellingen pagina bij gemaakt moeten worden, dat komt later nog wel.
if (!function_exists(‘ineco_join_site’)){
function ineco_join_site($user_id){
global $current_user,$blog_id,$wp_version;
wp_cookie_constants();
if(version_compare($wp_version,”3.7″,”<“)){
exit(‘This plug-in is not supported on pre-3.7 WordPress releases.’);
}
if(!is_multisite()){
exit(‘This plug-in only is only supported on WordPress Multisite.’);
}
$user = new WP_User( (int) $user_id );
//error_log(‘user = ‘ . $user_id);
//error_log(‘site = ‘ . $blog_id);
if( !is_user_member_of_blog($user_id,$blog_id) ) {
//error_log(‘is_user_member_of_blog = false’);
$role = get_option(‘default_role’);
if ($role == “”){
$role = get_site_option(‘default_user_role’,’subscriber’);
}
//error_log(‘default role = ‘ . $role);
add_user_to_blog($blog_id, $user_id, $role);
//error_log(‘add_user_to_blog(‘.$blog_id.’,’.$user_id.’,’.$role.’);’);
}
return false;
}
}
add_action ( ‘wpmu_activate_user’, ‘ineco_join_site’);