Limit one blog per user in a wordpress multisite

In a wordpress multisite, an user can create as many blog as he wants. If you Pro Sites you can control this. Pro Sites is a giant plugin that will help you to have control over the whole network.
But if you just want to limit one blog per user in a wordpress multisite and don’t want to use a huge plugin like Pro Sites, then this small snippet should help you.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function wpms_one_blog_only($active_signup) { | |
// get the array of the current user's blogs | |
$blogs = get_blogs_of_user( get_current_user_id() ); | |
// all users may be members of blog 1 so remove it from the count, could be a "Dashboard" blog as well | |
if ($blogs["1"]) unset($blogs["1"]); | |
//if the user still has blogs, disable signup else continue with existing active_signup rules at SiteAdmin->Options | |
$n = count($blogs); | |
if(n > ){ | |
$active_signup = 'none'; | |
echo ''; | |
} else { | |
$active_signup = $active_signup; | |
} | |
return $active_signup; // return "all", "none", "blog" or "user" | |
} | |
add_filter('wpmu_active_signup', 'wpms_one_blog_only'); |
You can add those codes in your functions.php in the theme, if you think your theme won’t be changed. Otherwise mu-plugins is the best solution. To use mu-plugins, go to /wp-content/ and find the folder with name ‘mu-plugins’. If there is no folder in that name, then create a folder, name it ‘mu-plugins’, create a file inside that, give any name you like and paste the code in there. You don’t need to activate that plugin. Mu-plugins means must use plugins, so it will be activated automatically always. If you use mu-plugins then add a php start tag at the beginning of the code.
Enjoy!