WordPress Version: 6.3
/**
* Shows a form for returning users to sign up for another site.
*
* @since MU (3.0.0)
*
* @param string $blogname The new site name
* @param string $blog_title The new site title.
* @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string.
*/
function signup_another_blog($blogname = '', $blog_title = '', $errors = '')
{
$current_user = wp_get_current_user();
if (!is_wp_error($errors)) {
$errors = new WP_Error();
}
$signup_defaults = array('blogname' => $blogname, 'blog_title' => $blog_title, 'errors' => $errors);
/**
* Filters the default site sign-up variables.
*
* @since 3.0.0
*
* @param array $signup_defaults {
* An array of default site sign-up variables.
*
* @type string $blogname The site blogname.
* @type string $blog_title The site title.
* @type WP_Error $errors A WP_Error object possibly containing 'blogname' or 'blog_title' errors.
* }
*/
$filtered_results = apply_filters('signup_another_blog_init', $signup_defaults);
$blogname = $filtered_results['blogname'];
$blog_title = $filtered_results['blog_title'];
$errors = $filtered_results['errors'];
/* translators: %s: Network title. */
echo '<h2>' . sprintf(__('Get <em>another</em> %s site in seconds'), get_network()->site_name) . '</h2>';
if ($errors->has_errors()) {
echo '<p>' . __('There was a problem, please correct the form below and try again.') . '</p>';
}
?>
<p>
<?php
printf(
/* translators: %s: Current user's display name. */
__('Welcome back, %s. By filling out the form below, you can <strong>add another site to your account</strong>. There is no limit to the number of sites you can have, so create to your heart’s content, but write responsibly!'),
$current_user->display_name
);
?>
</p>
<?php
$blogs = get_blogs_of_user($current_user->ID);
if (!empty($blogs)) {
?>
<p><?php
_e('Sites you are already a member of:');
?></p>
<ul>
<?php
foreach ($blogs as $blog) {
$home_url = get_home_url($blog->userblog_id);
echo '<li><a href="' . esc_url($home_url) . '">' . $home_url . '</a></li>';
}
?>
</ul>
<?php
}
?>
<p><?php
_e('If you are not going to use a great site domain, leave it for a new user. Now have at it!');
?></p>
<form id="setupform" method="post" action="wp-signup.php">
<input type="hidden" name="stage" value="gimmeanotherblog" />
<?php
/**
* Fires when hidden sign-up form fields output when creating another site or user.
*
* @since MU (3.0.0)
*
* @param string $context A string describing the steps of the sign-up process. The value can be
* 'create-another-site', 'validate-user', or 'validate-site'.
*/
do_action('signup_hidden_fields', 'create-another-site');
?>
<?php
show_blog_form($blogname, $blog_title, $errors);
?>
<p class="submit"><input type="submit" name="submit" class="submit" value="<?php
esc_attr_e('Create Site');
?>" /></p>
</form>
<?php
}