Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Register new rest route
- */
- add_action( 'rest_api_init', function () {
- register_rest_route( 'wp/v2/', 'users/register', array(
- 'methods' => 'POST',
- 'callback' => 'my_awesome_func',
- ) );
- } );
- function my_awesome_func ( WP_REST_Request $request ) {
- $parameters = $request->get_params();
- $username = sanitize_text_field($request->get_param( 'username' ));
- $email = sanitize_text_field($request->get_param( 'email' ));
- $password = sanitize_text_field($request->get_param( 'password' ));
- if(empty( $username )) {
- return new WP_Error(400, "Username field 'username' is required.", 'wp-rest-user');
- }
- if(empty( $email )) {
- return new WP_Error(400, "Email field 'email' is required.", 'wp-rest-user');
- }
- if(empty( $password )) {
- return new WP_Error(400, "Password field 'password' is required.", 'wp-rest-user');
- }
- if(!username_exists( $username ) && !email_exists( $email )) {
- $user_id = wp_create_user( $username, $password, $email );
- if(!is_wp_error( $user_id )) {
- wp_send_new_user_notifications($user_id, $notify = 'both');
- return new WP_REST_Response( 'User ' . $username . 'has been successfully created.' );
- } else {
- return new WP_Error(409, 'Could not create new user.');
- }
- } else {
- return new WP_Error(406, "Email already exists, try resetting your password.", 'wp-rest-user');
- }
- return username_exists($username);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement