/** * Create a WordPress user and return the user id on success, WP_Error otherwise. * * @deprecated since 1.7.3 - Use `createWithArgs` instead * * @param string $first_name First name * @param string $last_name Last name * @param string $email Email address * @param bool|string $password Optional. Clear password, if set to FALSE a random password is created * @param bool $enabled Optional. If FALSE the WPDK user status is set to disable. Default FALSE. * @param string $role Optional. User role, default 'subscriber' * * @return int|WP_Error */ public function create($first_name, $last_name, $email, $password = false, $enabled = false, $role = 'subscriber') { // For security reason an user must have a password if (false === $password) { $password = wp_generate_password(20, false); /** * Fires when a random password is generated. * * @param string $password Random Password. */ do_action('wpdk_users_random_password', $password); } $nice_name = WPDKUser::nice_name($first_name, $last_name); $display_name = WPDKUser::full_name($first_name, $last_name); $user_data = array('user_login' => $email, 'user_pass' => $password, 'user_email' => $email, 'user_nicename' => $nice_name, 'nickname' => $nice_name, 'display_name' => $display_name, 'first_name' => $first_name, 'last_name' => $last_name, 'role' => $role); $user_id = wp_insert_user($user_data); if (is_wp_error($user_id)) { return $user_id; } // Store IP Address if (isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) { update_user_meta($user_id, WPDKUserMeta::REMOTE_ADDR, $_SERVER['REMOTE_ADDR']); } // Disable user if required if (false === $enabled) { /** * Filter the user status before update. * * @param string $status The status id. Default `WPDKUserStatus::DISABLED`. * @param int $user_id The user id. */ $status = apply_filters('wpdk_users_status', WPDKUserStatus::DISABLED, $user_id); update_user_meta($user_id, WPDKUserMeta::STATUS, $status); /** * Filter the user status description. * * @param string $description User stats description. * @param int $user_id The user id. */ $status_description = apply_filters('wpdk_users_status_description', '', $user_id); update_user_meta($user_id, WPDKUserMeta::STATUS_DESCRIPTION, $status_description); } return $user_id; }