Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. /**
  2. * Register new rest route
  3. */
  4. add_action( 'rest_api_init', function () {
  5. register_rest_route( 'wp/v2/', 'users/register', array(
  6. 'methods' => 'POST',
  7. 'callback' => 'my_awesome_func',
  8. ) );
  9. } );
  10.  
  11. function my_awesome_func ( WP_REST_Request $request ) {
  12. $parameters = $request->get_params();
  13. $username = sanitize_text_field($request->get_param( 'username' ));
  14. $email = sanitize_text_field($request->get_param( 'email' ));
  15. $password = sanitize_text_field($request->get_param( 'password' ));
  16.  
  17. if(empty( $username )) {
  18. return new WP_Error(400, "Username field 'username' is required.", 'wp-rest-user');
  19. }
  20.  
  21. if(empty( $email )) {
  22. return new WP_Error(400, "Email field 'email' is required.", 'wp-rest-user');
  23. }
  24.  
  25. if(empty( $password )) {
  26. return new WP_Error(400, "Password field 'password' is required.", 'wp-rest-user');
  27. }
  28.  
  29. if(!username_exists( $username ) && !email_exists( $email )) {
  30. $user_id = wp_create_user( $username, $password, $email );
  31. if(!is_wp_error( $user_id )) {
  32. wp_send_new_user_notifications($user_id, $notify = 'both');
  33. return new WP_REST_Response( 'User ' . $username . 'has been successfully created.' );
  34. } else {
  35. return new WP_Error(409, 'Could not create new user.');
  36. }
  37. } else {
  38. return new WP_Error(406, "Email already exists, try resetting your password.", 'wp-rest-user');
  39. }
  40.  
  41. return username_exists($username);
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement