bp_core_signup_disable_inactive( WP_User|WP_Error|null $user = null, string $username = '', string $password = '' )
Display a “resend email” link when an unregistered user attempts to log in.
Description
Parameters
- $user
-
(Optional) Either the WP_User or the WP_Error object.
Default value: null
- $username
-
(Optional) The inputted, attempted username.
Default value: ''
- $password
-
(Optional) The inputted, attempted password.
Default value: ''
Return
(WP_User|WP_Error)
Source
File: bp-members/bp-members-functions.php
function bp_core_signup_disable_inactive( $user = null, $username = '', $password ='' ) {
// Login form not used.
if ( empty( $username ) && empty( $password ) ) {
return $user;
}
// An existing WP_User with a user_status of 2 is either a legacy
// signup, or is a user created for backward compatibility. See
// {@link bp_core_signup_user()} for more details.
if ( is_a( $user, 'WP_User' ) && 2 == $user->user_status ) {
$user_login = $user->user_login;
// If no WP_User is found corresponding to the username, this
// is a potential signup.
} elseif ( is_wp_error( $user ) && 'invalid_username' == $user->get_error_code() ) {
$user_login = $username;
// This is an activated user, so bail.
} else {
return $user;
}
// Look for the unactivated signup corresponding to the login name.
$signup = BP_Signup::get( array( 'user_login' => sanitize_user( $user_login ) ) );
// No signup or more than one, something is wrong. Let's bail.
if ( empty( $signup['signups'][0] ) || $signup['total'] > 1 ) {
return $user;
}
// Unactivated user account found!
// Set up the feedback message.
$signup_id = $signup['signups'][0]->signup_id;
$resend_url_params = array(
'action' => 'bp-resend-activation',
'id' => $signup_id,
);
$resend_url = wp_nonce_url(
add_query_arg( $resend_url_params, wp_login_url() ),
'bp-resend-activation'
);
$resend_string = '<br /><br />' . sprintf( __( 'If you have not received an email yet, <a href="%s">click here to resend it</a>.', 'buddyboss' ), esc_url( $resend_url ) );
return new WP_Error( 'bp_account_not_activated', __( '<strong>ERROR</strong>: Your account has not been activated. Check your email for the activation link.', 'buddyboss' ) . $resend_string );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.2.2 | 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.