Voxel Create User From Post
The {CODICTS} Voxel Create User From Post plugin automatically creates (or updates) WordPress user accounts when a Voxel Theme post is submitted or edited. It maps data from Voxel post fields to WordPress user profile fields, enabling use cases where a post submission should also register a corresponding user account.
Installation & Activation
Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.
After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.
Once activated, navigate to “Create User From Post” in the WordPress admin sidebar to configure field mappings for your post types.
Key Features
| Feature | Description |
|---|---|
| Post-to-User Mapping | Map any Voxel post field to a WordPress user profile field (email, name, username, website, bio, password). |
| Multi-Post-Type Support | Configure independently for every Voxel post type on your site. |
| Create & Update Modes | Create new users on first submission; optionally update existing users when the post is edited. |
| Email-Based Deduplication | Uses the email field as the unique identifier — prevents duplicate user accounts. |
| Flexible Passwords | Random password generation by default, or map a custom password field with an optional one-click random generator button. |
| Password Update Switch | A Voxel switcher field can control whether the password gets updated on post edits. |
| Post Author Assignment | Optionally set the created user as the post’s author, with an optional switch control. |
| Role-Based Restrictions | Only specified user roles can trigger user creation when submitting posts. |
| LinkedIn Integration | Optional button to fetch fields from LinkedIn (requires the {CODICTS} Voxel LinkedIn Sign In plugin). |
| Admin & Frontend | Works from both frontend Voxel submissions and WordPress admin post saves. |
Common Use Cases
This plugin is useful whenever a Voxel post submission should also create a WordPress user account. For example:
Business directories — When a business listing is submitted, create a user account for that business so they can log in and manage their listing.
Staff/team directories — When a staff member post is created, automatically register a WordPress account for that person.
Membership sites — When a registration-style post is submitted, create the corresponding user account with the appropriate role.
How It Works
When a Voxel post is submitted or updated, the plugin:
1. Checks that user creation is enabled for the post type and that the submitting user’s role is allowed.
2. Reads the field values from the Voxel post and maps them to WordPress user fields based on your configuration.
3. Checks if a user with the mapped email already exists.
4. If no user exists → creates a new WordPress user account. If a user exists and “Update existing user” is enabled → updates their profile. If a user exists and updating is disabled → skips.
5. Optionally assigns the created or matched user as the post’s author.
Note: The email field is the unique identifier. If the email on the post matches an existing WordPress user, the plugin treats them as the same person. If the email field is empty, no user is created.
Configuring a Post Type
Navigate to “Create User From Post” in the WordPress admin sidebar. The settings page lists every registered Voxel post type, each with its own configuration section.
Step 1: Enable User Creation
Check the “Enabled?” toggle for the post type you want to configure.
Step 2: Select Allowed Roles
Under “Enabled for User Roles”, select which user roles can trigger user creation when submitting this post type. Only logged-in users with one of these roles will create users — all others are ignored.
Tip: This controls who can trigger user creation, not what role the created user receives. The created user’s role is set separately (see Step 5).
Step 3: Map Fields
Use the dropdown selectors to map Voxel post fields to WordPress user profile fields:
| User Field | Required | Notes |
|---|---|---|
| Yes | Only email-type Voxel fields are shown. This is the unique identifier — it must be mapped. | |
| Username | No | If not mapped, the email prefix (before the @) is used as the username. |
| Nickname | No | Display name shown on the site. |
| First Name | No | — |
| Last Name | No | — |
| Website | No | Only URL-type Voxel fields are shown. |
| Biographical Info | No | User bio / description. |
Step 4: Configure Password Settings
By default, a random secure password is generated for each new user. If you want users to set their own password from a field on the post submission form, configure the password options:
1. Check “Set a password?” to enable custom password mode.
2. Select which Voxel field contains the password.
3. Optionally check “Add random password generator?” — this adds a dice icon button next to the password field on the frontend that generates a random 16-character password with one click.
4. Optionally enable “Use a switch to update password?” and select a Voxel switcher field. When enabled, the password is only updated during post edits if the user turns this switch ON. This prevents accidental password changes.
Note: When using random passwords (the default), the password is generated once on user creation and is never overwritten on post updates. This ensures existing users keep their passwords when posts are edited.
Step 5: Set the Created User’s Role
Under “Assigned User Role”, select the WordPress role that newly created users will receive (e.g., Subscriber, Author, Editor, or any custom role).
Step 6: Enable Update Mode (Optional)
Check “Update existing user?” if you want user profiles to be updated when the corresponding post is edited. When enabled, if a post is edited and the email matches an existing user, the mapped fields (name, nickname, bio, etc.) are updated on the user profile.
Note: Usernames cannot be changed after creation — this is a WordPress limitation. All other mapped fields can be updated.
Step 7: Post Author Assignment (Optional)
Check “Set created user as current post author?” to automatically assign the created or matched user as the author of the submitted post.
Optionally, select a Voxel switcher field to give submitters control over whether author assignment happens on a per-post basis. When a switch is configured, the author is only assigned if the switch is turned ON.
Step 8: LinkedIn Integration (Optional)
If you have the {CODICTS} Voxel LinkedIn Sign In plugin installed and active, you can check “Enable fetch fields from LinkedIn button”. This adds a button to the post submission form that lets users auto-populate fields from their LinkedIn profile.
This option is grayed out if the LinkedIn Sign In plugin is not installed.
Step 9: Save
Click “Save Changes”. Repeat for any other post types you want to configure.
How User Matching Works
The plugin uses the email address as the unique identifier for matching users:
| Scenario | What Happens |
|---|---|
| Email doesn’t exist in WordPress | A new user is created with the mapped fields. |
| Email exists + “Update existing user” enabled | The existing user’s profile is updated with the new field values. |
| Email exists + “Update existing user” disabled | No action — the existing user is left unchanged. |
| Email field is empty | No action — the plugin exits silently. |
If no username is mapped and one needs to be generated, the plugin uses the part of the email before the @ symbol. If that username is already taken, a unique suffix is appended automatically.
Password Modes
| Mode | How to Enable | Behavior |
|---|---|---|
| Random Password | Default (leave “Set a password?” unchecked) | A secure random password is generated when the user is created. Never overwritten on post edits. |
| Custom Password Field | Check “Set a password?” and select a field | Password is taken from the mapped Voxel field. Updated on post edits unless a password switch prevents it. |
| Custom + Random Generator | Also check “Add random password generator?” | Same as above, plus a dice icon button appears on the frontend for one-click random password generation. |
Frontend Features
Random Password Generator Button
When enabled, a small dice icon appears inside the password field on the Voxel post submission form. Clicking it generates a random 16-character alphanumeric password and fills it into the field.
Switch Defaults
If you’ve configured a password switch or author switch, both default to OFF when the submission form loads. This means users must explicitly turn them on to trigger a password change or author reassignment — preventing accidental changes during routine post edits.
Email Notifications
The plugin automatically suppresses two types of WordPress email notifications during user creation and updates:
1. Password change notification emails (sent to users when their password is updated).
2. New user notification emails (sent to site administrators when a new user is created).
This prevents your team and users from being flooded with automated emails when users are created through post submissions.
Programmatic Trigger (Developers)
If you need to trigger user creation outside the normal post submission flow, you can fire the plugin’s custom action hook from your own code:
do_action( 'codicts-voxel-create-user-from-post::create', $voxel_post );
Pass a Voxel post object. The plugin’s normal validation and creation logic will run against it.
Troubleshooting
“Voxel Theme Not Detected” Error
Ensure the Voxel Theme is installed and set as the active theme. Go to Appearance → Themes to verify. If you’re using a child theme, ensure it correctly references Voxel as the parent theme.
Users Not Being Created
| Cause | Solution |
|---|---|
| Post type not enabled | Go to settings and check “Enabled?” for the post type. |
| Email field not mapped | The email mapping is required. Select a Voxel email field in the settings. |
| Email field empty on the post | Ensure the submission form includes a valid email. No user is created without one. |
| Submitting user’s role not allowed | Add the user’s role to “Enabled for User Roles” in the settings. |
| User not logged in | Only logged-in users can trigger user creation. |
Users Not Being Updated on Post Edits
| Cause | Solution |
|---|---|
| “Update existing user?” not checked | Enable this checkbox in the post type settings. |
| Password not updating | If a password switch is configured, make sure it’s turned ON before saving the post. |
| Username not changing | Usernames cannot be changed after creation — this is a WordPress limitation. |
Random Password Generator Button Not Showing
| Cause | Solution |
|---|---|
| Password not enabled | Check “Set a password?” first, then check “Add random password generator?” |
| No password field mapped | Select a Voxel field for the password mapping. |
| User role not in allowed list | The generator only appears for users whose roles are in the “Enabled for User Roles” list. |
| JavaScript error | Check the browser console for errors. |
LinkedIn Button Not Appearing
| Cause | Solution |
|---|---|
| LinkedIn plugin not installed or not active | Install and activate the {CODICTS} Voxel LinkedIn Sign In plugin. |
| Toggle not enabled | Check “Enable fetch fields from LinkedIn button” in the post type settings. |
Settings Page Shows No Post Types
The settings page dynamically lists all registered Voxel post types. If nothing appears, create at least one post type in Voxel’s post type editor, then return to the plugin settings.
Duplicate Usernames
If a username already exists, the plugin automatically appends a unique suffix (e.g., john65a3b2c1). This is normal and prevents creation failures from username collisions.
For further support, visit codicts.com or contact us at support@codicts.com.