Skip to content
  • Log In
  • Register
WordPress.org
  • News
  • Download & Extend
    • Get WordPress
    • Themes
    • Patterns
    • Plugins
    • Openverse
    • Mobile
    • Hosting
  • Learn
    • Learn WordPress
    • Documentation
    • Forums
    • WordPress.tv
    • Developers
  • Community
    • Make WordPress
    • WordCamp
    • Meetups
    • Photo Directory
    • Job Board
    • Five for the Future
  • About
    • About WordPress
    • Showcase
    • Gutenberg
    • Enterprise
    • WordPress Swag Store
  • Get WordPress
Get WordPress

Developer Resources

Browse: Home / Reference / Functions / signup_user()

signup_user( string $user_name = '', string $user_email = '', WP_Error|string $errors = '' )

Shows a form for a visitor to sign up for a new user account.

Contents

  • Parameters
  • Source
  • Hooks
  • Related
    • Uses
    • Used By
  • Changelog
  • User Contributed Notes

Parameters

$user_name string Optional
The username.

Default: ''

$user_email string Optional
The user's email.

Default: ''

$errors WP_Error|string Optional
A WP_Error object containing existing errors. Defaults to empty string.

Default: ''


Top ↑

Source

File: wp-signup.php. View all references

function signup_user( $user_name = '', $user_email = '', $errors = '' ) {
	global $active_signup;

	if ( ! is_wp_error( $errors ) ) {
		$errors = new WP_Error();
	}

	$signup_for = isset( $_POST['signup_for'] ) ? esc_html( $_POST['signup_for'] ) : 'blog';

	$signup_user_defaults = array(
		'user_name'  => $user_name,
		'user_email' => $user_email,
		'errors'     => $errors,
	);

	/**
	 * Filters the default user variables used on the user sign-up form.
	 *
	 * @since 3.0.0
	 *
	 * @param array $signup_user_defaults {
	 *     An array of default user variables.
	 *
	 *     @type string   $user_name  The user username.
	 *     @type string   $user_email The user email address.
	 *     @type WP_Error $errors     A WP_Error object with possible errors relevant to the sign-up user.
	 * }
	 */
	$filtered_results = apply_filters( 'signup_user_init', $signup_user_defaults );
	$user_name        = $filtered_results['user_name'];
	$user_email       = $filtered_results['user_email'];
	$errors           = $filtered_results['errors'];

	?>

	<h2>
	<?php
		/* translators: %s: Name of the network. */
		printf( __( 'Get your own %s account in seconds' ), get_network()->site_name );
	?>
	</h2>
	<form id="setupform" method="post" action="wp-signup.php" novalidate="novalidate">
		<input type="hidden" name="stage" value="validate-user-signup" />
		<?php
		/** This action is documented in wp-signup.php */
		do_action( 'signup_hidden_fields', 'validate-user' );
		?>
		<?php show_user_form( $user_name, $user_email, $errors ); ?>

		<?php if ( 'blog' === $active_signup ) : ?>
			<input id="signupblog" type="hidden" name="signup_for" value="blog" />
		<?php elseif ( 'user' === $active_signup ) : ?>
			<input id="signupblog" type="hidden" name="signup_for" value="user" />
		<?php else : ?>
			<fieldset class="signup-options">
				<legend><?php _e( 'Create a site or only a username:' ); ?></legend>
				<p class="wp-signup-radio-buttons">
					<span class="wp-signup-radio-button">
						<input id="signupblog" type="radio" name="signup_for" value="blog" <?php checked( $signup_for, 'blog' ); ?> />
						<label class="checkbox" for="signupblog"><?php _e( 'Gimme a site!' ); ?></label>
					</span>
					<span class="wp-signup-radio-button">
						<input id="signupuser" type="radio" name="signup_for" value="user" <?php checked( $signup_for, 'user' ); ?> />
						<label class="checkbox" for="signupuser"><?php _e( 'Just a username, please.' ); ?></label>
					</span>
				</p>
			</fieldset>
		<?php endif; ?>

		<p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Next' ); ?>" /></p>
	</form>
	<?php
}

View on Trac View on GitHub


Top ↑

Hooks

do_action( 'signup_hidden_fields', string $context )

Hidden sign-up form fields output when creating another site or user.

apply_filters( 'signup_user_init', array $signup_user_defaults )

Filters the default user variables used on the user sign-up form.


Top ↑

Related

Top ↑

Uses

Uses
Uses Description
get_network() wp-includes/ms-network.php

Retrieves network data given a network ID or network object.

show_user_form() wp-signup.php

Displays the fields for the new user account registration form.

esc_attr_e() wp-includes/l10n.php

Displays translated text that has been escaped for safe use in an attribute.

checked() wp-includes/general-template.php

Outputs the HTML checked attribute.

__() wp-includes/l10n.php

Retrieves the translation of $text.

_e() wp-includes/l10n.php

Displays translated text.

esc_html() wp-includes/formatting.php

Escaping for HTML blocks.

apply_filters() wp-includes/plugin.php

Calls the callback functions that have been added to a filter hook.

do_action() wp-includes/plugin.php

Calls the callback functions that have been added to an action hook.

is_wp_error() wp-includes/load.php

Checks whether the given variable is a WordPress Error.

WP_Error::__construct() wp-includes/class-wp-error.php

Initializes the error.

Show 7 more uses Hide more uses

Top ↑

Used By

Used By
Used By Description
validate_user_signup() wp-signup.php

Validates the new user sign-up.

validate_blog_signup() wp-signup.php

Validates new site signup.


Top ↑

Changelog

Changelog
Version Description
MU (3.0.0) Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.

  • About
  • News
  • Hosting
  • Donate
  • Swag
  • Documentation
  • Developers
  • Get Involved
  • Learn
  • Showcase
  • Plugins
  • Themes
  • Patterns
  • WordCamp
  • WordPress.TV
  • BuddyPress
  • bbPress
  • WordPress.com
  • Matt
  • Privacy
  • Public Code
WordPress.org
WordPress.org
  • Visit our Facebook page
  • Visit our Twitter account
  • Visit our Instagram account
  • Visit our LinkedIn account
Code is Poetry

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.