No, I’ve never made a plugin. But I would like to, or find someone who can work with me on it. What I’m hoping to accomplish is setup presets on site creation. I need my multisite to do this:
- When creating a site, require information from the user creating it
that is not normally requested. - Upon obtaining this information, create the site with a preset path (using the information previously provided)
- Then, when logging in for the first time, redirect the site owner to a setup page where they can choose a theme, a layout, and other options.
I know of the wpmu_create_blog
function, but am unsure of where to “include.php” it. Also I don’t know what function to use for editing the site creation page or how to use this information in the wpmu_create_blog
function.
1 Answer
To create a basic plugin, add a directory in wp-content/plugin
, then put a php file in it with the required header, and that’s it.
Now, here is how to use the action :
add_action( 'wpmu_new_blog', 'user16975_customize_blog', 10, 6);
function user16975_customize_blog($blog_id, $user_id, $domain, $path, $site_id, $meta ){
// do not forget to select the correct blog (we are in mutisite admin)
switch_to_blog($blog_id);
// You can retrieve the register information in $_POST var, depending on your registration form
// change the blog name
update_option('blogname', 'M&F Lastname');
// change the blog address
$newurl = esc_url( 'http://' . $domain . 'm&f-lastname' );
update_option( 'siteurl', $newurl );
update_option( 'home', $newurl );
// rename the default article
wp_update_post(array(
'ID' => 1,
'post_title' => 'Long live the newlyweds!',
'post_name' => 'long-live-the-newlyweds'
));
restore_current_blog();
}
So the remaining part is to customize your registration form. What form do you use to register new users ? If you are using the front-end registration form, you can add custom registration parameters with the signup_blogform
action.