a properties you can add that here. This is totally optional', 'fluentcampaign-pro'), 'value_input_type' => 'text-popper' ], 'send_user_notification_email' => [ 'type' => 'yes_no_check', 'label' => __('User Notification', 'fluentcampaign-pro'), 'check_label' => __('Send WordPress user notification email', 'fluentcampaign-pro') ] ] ]; } public function handle($subscriber, $sequence, $funnelSubscriberId, $funnelMetric) { $user = get_user_by('email', $subscriber->email); if ($user) { $funnelMetric->notes = __('Funnel Skipped because user already exist in the database', 'fluentcampaign-pro'); $funnelMetric->save(); FunnelHelper::changeFunnelSubSequenceStatus($funnelSubscriberId, $sequence->id, 'skipped'); return false; } $settings = $sequence->settings; if ($settings['auto_generate_password'] == 'yes' || empty($settings['custom_password'])) { $password = wp_generate_password(8); } else { $password = Parser::parse($settings['custom_password'], $subscriber); } $userName = sanitize_user($subscriber->email); if (!empty($settings['custom_username'])) { $customUserName = $settings['custom_username']; //Parser::parse(, $subscriber); $customUserName = apply_filters('fluent_crm/parse_campaign_email_text', $customUserName, $subscriber); $customUserName = sanitize_user($customUserName); if ($customUserName && !username_exists($customUserName)) { $userName = $customUserName; } } $userId = wp_create_user($userName, $password, $subscriber->email); if (is_wp_error($userId)) { $funnelMetric->notes = __('Error when creating new User. ', 'fluentcampaign-pro') . $userId->get_error_message(); $funnelMetric->save(); FunnelHelper::changeFunnelSubSequenceStatus($funnelSubscriberId, $sequence->id, 'skipped'); return false; } if ($userRole = Arr::get($settings, 'user_role')) { $user = new \WP_User($userId); $user->set_role($userRole); } $userMetas = [ 'first_name' => $subscriber->first_name, 'last_name' => $subscriber->last_name ]; foreach ($settings['meta_properties'] as $pair) { if (empty($pair['data_key']) || empty($pair['data_value'])) { continue; } $userMetas[sanitize_text_field($pair['data_key'])] = Parser::parse($pair['data_value'], $subscriber); } $userMetas = array_filter($userMetas); foreach ($userMetas as $metaKey => $metaValue) { update_user_meta($userId, $metaKey, $metaValue); } if (Arr::get($settings, 'send_user_notification_email') == 'yes') { wp_send_new_user_notifications($userId, 'user'); } fluentCrmDb()->table('fc_subscribers') ->where('id', $subscriber->id) ->update([ 'user_id' => $userId ]); } }