bp_core_signup_user( string $user_login, string $user_password, string $user_email, array $usermeta )
Process data submitted at user registration and convert to a signup object.
Description
Parameters
- $user_login
-
(Required) Login name requested by the user.
- $user_password
-
(Required) Password requested by the user.
- $user_email
-
(Required) Email address entered by the user.
- $usermeta
-
(Required) Miscellaneous metadata about the user (blog-specific signup data, xprofile data, etc).
Return
(int|false) True on success, WP_Error on failure.
Source
File: bp-members/bp-members-functions.php
function bp_core_signup_user( $user_login, $user_password, $user_email, $usermeta ) { $bp = buddypress(); // We need to cast $user_id to pass to the filters. $user_id = false; // Multisite installs have their own install procedure. if ( is_multisite() ) { wpmu_signup_user( $user_login, $user_email, $usermeta ); } else { // Format data. $user_login = preg_replace( '/\s+/', '', sanitize_user( $user_login, true ) ); $user_email = sanitize_email( $user_email ); $activation_key = wp_generate_password( 32, false ); /** * WordPress's default behavior is to create user accounts * immediately at registration time. BuddyPress uses a system * borrowed from WordPress Multisite, where signups are stored * separately and accounts are only created at the time of * activation. For backward compatibility with plugins that may * be anticipating WP's default behavior, BP silently creates * accounts for registrations (though it does not use them). If * you know that you are not running any plugins dependent on * these pending accounts, you may want to save a little DB * clutter by defining setting the BP_SIGNUPS_SKIP_USER_CREATION * to true in your wp-config.php file. */ if ( ! defined( 'BP_SIGNUPS_SKIP_USER_CREATION' ) || ! BP_SIGNUPS_SKIP_USER_CREATION ) { $user_id = BP_Signup::add_backcompat( $user_login, $user_password, $user_email, $usermeta ); if ( is_wp_error( $user_id ) ) { return $user_id; } bp_update_user_meta( $user_id, 'activation_key', $activation_key ); } $args = array( 'user_login' => $user_login, 'user_email' => $user_email, 'activation_key' => $activation_key, 'meta' => $usermeta, ); BP_Signup::add( $args ); /** * Filters if BuddyPress should send an activation key for a new signup. * * @since BuddyPress 1.2.3 * * @param bool $value Whether or not to send the activation key. * @param int $user_id User ID to send activation key to. * @param string $user_email User email to send activation key to. * @param string $activation_key Activation key to be sent. * @param array $usermeta Miscellaneous metadata about the user (blog-specific * signup data, xprofile data, etc). */ if ( apply_filters( 'bp_core_signup_send_activation_key', true, $user_id, $user_email, $activation_key, $usermeta ) ) { bp_core_signup_send_validation_email( $user_id, $user_email, $activation_key, $user_login ); } } $bp->signup->username = $user_login; /** * Fires at the end of the process to sign up a user. * * @since BuddyPress 1.2.2 * * @param bool|WP_Error $user_id True on success, WP_Error on failure. * @param string $user_login Login name requested by the user. * @param string $user_password Password requested by the user. * @param string $user_email Email address requested by the user. * @param array $usermeta Miscellaneous metadata about the user (blog-specific * signup data, xprofile data, etc). */ do_action( 'bp_core_signup_user', $user_id, $user_login, $user_password, $user_email, $usermeta ); return $user_id; }
Changelog
Version | Description |
---|---|
BuddyPress 1.2.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.