public function handle_registration() {
/*
* Only process the supplier registration form.
*/
if ( 'POST' !== $_SERVER['REQUEST_METHOD'] ) {
return;
}
if ( ! isset( $_POST['hqsh_register_supplier'] ) ) {
return;
}
/*
* Verify security nonce.
*/
if (
! isset( $_POST['hqsh_registration_nonce'] ) ||
! wp_verify_nonce(
sanitize_text_field(
wp_unslash( $_POST['hqsh_registration_nonce'] )
),
'hqsh_supplier_registration'
)
) {
wp_die(
'Security verification failed. Please refresh the registration page and try again.'
);
}
/*
* Get submitted information.
*/
$name = isset( $_POST['hqsh_name'] )
? sanitize_text_field(
wp_unslash( $_POST['hqsh_name'] )
)
: '';
$email = isset( $_POST['hqsh_email'] )
? sanitize_email(
wp_unslash( $_POST['hqsh_email'] )
)
: '';
$username = isset( $_POST['hqsh_username'] )
? sanitize_user(
wp_unslash( $_POST['hqsh_username'] )
)
: '';
$password = isset( $_POST['hqsh_password'] )
? (string) $_POST['hqsh_password']
: '';
$password_confirm = isset( $_POST['hqsh_password_confirm'] )
? (string) $_POST['hqsh_password_confirm']
: '';
/*
* Required fields.
*/
if (
empty( $name ) ||
empty( $email ) ||
empty( $username ) ||
empty( $password ) ||
empty( $password_confirm )
) {
wp_die( 'Please complete all required fields.' );
}
/*
* Validate email.
*/
if ( ! is_email( $email ) ) {
wp_die( 'Please enter a valid email address.' );
}
/*
* Check username.
*/
if ( username_exists( $username ) ) {
wp_die( 'This username already exists. Please choose another username.' );
}
/*
* Check email.
*/
if ( email_exists( $email ) ) {
wp_die( 'This email address is already registered.' );
}
/*
* Check password length.
*/
if ( strlen( $password ) < 8 ) {
wp_die( 'Password must contain at least 8 characters.' );
}
/*
* Check password confirmation.
*/
if ( $password !== $password_confirm ) {
wp_die( 'Passwords do not match.' );
}
/*
* Create WordPress user.
*/
$user_id = wp_create_user(
$username,
$password,
$email
);
/*
* Check for WordPress error.
*/
if ( is_wp_error( $user_id ) ) {
wp_die(
esc_html(
$user_id->get_error_message()
)
);
}
/*
* Update user's name.
*/
wp_update_user(
array(
'ID' => $user_id,
'display_name' => $name,
'first_name' => $name,
)
);
/*
* Assign supplier role.
*/
$user = new WP_User( $user_id );
if ( get_role( 'hq_supplier' ) ) {
$user->set_role( 'hq_supplier' );
} else {
wp_die(
'Supplier role "hq_supplier" does not exist. Please activate the HQ Supplier Hub role system.'
);
}
/*
* Redirect to Supplier Login.
*/
$login_url = home_url( '/supplier-login/' );
wp_safe_redirect( $login_url );
exit;
}
Fatal error: Uncaught Error: Class "HQSH_Registration" not found in /home/u971076814/domains/hqmarketplacee.com/public_html/wp-content/plugins/hq-suppliers-hub/includes/Core/class-loader.php:73
Stack trace:
#0 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-content/plugins/hq-suppliers-hub/includes/Core/class-loader.php(37): HQSH_Loader->init_classes()
#1 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-content/plugins/hq-suppliers-hub/includes/Core/class-loader.php(23): HQSH_Loader->__construct()
#2 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-content/plugins/hq-suppliers-hub/hq-supplier-hub.php(71): HQSH_Loader::instance()
#3 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-includes/class-wp-hook.php(341): {closure}()
#4 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#5 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-includes/plugin.php(522): WP_Hook->do_action()
#6 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-settings.php(622): do_action()
#7 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-config.php(122): require_once('/home/u97107681...')
#8 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-load.php(50): require_once('/home/u97107681...')
#9 /home/u971076814/domains/hqmarketplacee.com/public_html/wp-blog-header.php(13): require_once('/home/u97107681...')
#10 /home/u971076814/domains/hqmarketplacee.com/public_html/index.php(17): require('/home/u97107681...')
#11 {main}
thrown in /home/u971076814/domains/hqmarketplacee.com/public_html/wp-content/plugins/hq-suppliers-hub/includes/Core/class-loader.php on line 73