Overview
User Registration Management in Attributes User Access Pro provides advanced control over how users sign up for your site, including custom registration fields, approval workflows, and flexible username generation methods.
Why Use Advanced Registration?
Gather additional information during registration like company name, phone number, or custom identifiers.
Require admin approval before users can access your site.
Choose username-only, email-only, or both based on your needs.
Create polished registration forms matching your brand.
Accessing Registration Settings
Navigate to:
WordPress Admin → Settings → Attributes User Access → User Settings → Registration
Registration Method Options
Username Only
Users register with a username and provide email separately.
Best for:
- Traditional forum-style sites
- Gaming communities
- Sites where anonymity is valued
- Platforms with public usernames
Configuration:
Registration Method: Username Only
☑ Require email address
☑ Validate email domain
☐ Block disposable email addresses
User experience:
Username: johndoe *
Email: john@example.com *
Password: *
Confirm Password: *
Email Only
Users register with email address, username generated automatically.
Best for:
- Business applications
- Professional services
- E-commerce sites
- Membership sites
Configuration:
Registration Method: Email Only
Username Generation: [Auto-generate from email]
☑ Validate email domain exists
☑ Block disposable email addresses
☑ Require email verification
User experience:
Email: john@example.com *
Password: *
Confirm Password: *
(Username auto-generated: john_doe_1234)
Both Username and Email
Users provide both username and email (WordPress default).
Best for:
- Social networks
- Community platforms
- General-purpose websites
- Sites needing both identifiers
Configuration:
Registration Method: Both
☑ Require unique username
☑ Require unique email
☑ Username minimum length: 4 characters
Username Generation Methods
For Email-Only Registration
Option 1: Email-Based (Recommended)
Email: john.doe@company.com
Generated Username: john_doe
Process:
- Extract name before @ symbol
- Replace dots with underscores
- Remove special characters
- Add number if username exists
Option 2: Random String
Email: user@example.com
Generated Username: user_x9k2m7p4
Process:
- Start with “user_”
- Add 8 random alphanumeric characters
- Guaranteed unique
Option 3: Custom Prefix
Email: jane@example.com
Prefix: “member”
Separator: “-”
Generated Username: member-jane-5832
Configuration:
Custom Prefix: [member]
Separator: [- (hyphen)]
Add Random Numbers: [Yes]
Configuration Steps
Step 1: Choose generation method
- Go to User Settings → Registration
- Select “Email Only” registration
- Choose username generation:
○ Email-Based (Recommended)
○ Random String
○ Custom Prefix
Step 2: Configure custom prefix (if selected)
Custom Prefix: member
Separator Options:
○ Underscore (_)
○ Hyphen (-)
○ Dot (.)
Add Random Number: Yes (prevents conflicts)
Number Length: [4] digits
Step 3: Test generation
Test Email: test@example.com
Preview Username: member-test-4721
[Generate Preview]
Custom Registration Fields
Adding Custom Fields
Field types available:
- Text input
- Email input
- Phone number
- Dropdown/Select
- Checkbox
- Radio buttons
- Textarea
Field Configuration
Via Shortcode:
[attrua_register custom_fields=”company:text:required,phone:tel:optional”]
Shortcode syntax:
field_name:field_type:required|optional
Common Custom Field Examples
Example 1: Company Information
[attrua_register custom_fields=”company_name:text:required,industry:select:optional”]
Renders as:
Company Name: [___________] *
Industry: [Select Industry ▼]
– Technology
– Healthcare
– Finance
– Education
– Other
Example 2: Contact Details
[attrua_register custom_fields=”phone:tel:required,country:select:required”]
Renders as:
Phone Number: [___________] *
Country: [Select Country ▼] *
Example 3: Professional Profile
[attrua_register custom_fields=”job_title:text:optional,linkedin:url:optional,bio:textarea:optional”]
Renders as:
Job Title: [___________]
LinkedIn Profile: [___________]
Bio: [________________
________________] (textarea)
Validation Rules
Automatic validation:
email: Valid email format
tel: Phone number format (10-15 digits)
url: Valid URL format
number: Numeric values only
Custom validation:
// Add to functions.php or custom plugin
add_filter('attrua_pro_validate_custom_field', function($is_valid, $field_name, $field_value) {
if ($field_name === 'company_name') {
// Require minimum 3 characters
if (strlen($field_value) < 3) {
return new WP_Error('invalid_company', 'Company name too short');
}
}
return $is_valid;
}, 10, 3);
Email Validation
Domain Validation
Check if email domain exists:
☑ Validate email domain exists
Blocks:
- typos@gmial.com (should be gmail.com)
- user@nonexistentdomain123.com
- test@fake-domain.xyz
Allows:
- user@gmail.com ✓
- contact@company.com ✓
- admin@example.org ✓
Disposable Email Detection
Block temporary/throwaway email addresses:
☑ Block disposable email addresses
Blocks services like:
- tempmail.com
- 10minutemail.com
- guerrillamail.com
- trashmail.com
- mailinator.com
Message shown:
"Disposable email addresses are not allowed. Please use a permanent email address."
Email Whitelist/Blacklist
Whitelist (Allow only specific domains):
Allowed Email Domains:
company.com
@business.org
@partner.net
Result: Only these domains can register
Blacklist (Block specific domains):
Blocked Email Domains:
competitor.com
@spam-domain.com
@blocked-isp.net
Result: These domains cannot register
Approval Workflows
Manual Approval
Require admin approval before access:
Configuration:
☑ Enable registration approval
Default Role After Approval: [Subscriber ▼]
Pending Role: [Pending Approval (custom)]
Approval Process
Step 1: User registers
- User completes registration form
- Account created with "Pending Approval" status
- User receives "Registration Under Review" email
- Admin receives "New Registration for Approval" email
Step 2: Admin reviews
- Admin goes to Users → Pending Approval
- Reviews user details and custom fields
- Decides: Approve or Reject
Step 3: User notified
Approved:
- Role changed to Subscriber (or configured role)
- "Account Approved" email sent
- User can now log in
Rejected:
- Account deleted or marked inactive
- "Registration Denied" email sent (optional)
Automatic Approval with Conditions
Approve automatically if conditions met:
Example 1: Specific email domains
Auto-approve if email ends with:
@company.com
@trusted-partner.org
All others: Manual approval required
Example 2: Custom field values
// Auto-approve company employees
add_filter('attrua_pro_auto_approve_user', function($auto_approve, $user_id) {
$company = get_user_meta($user_id, 'company_name', true);
if ($company === 'Our Company Name') {
return true; // Auto-approve
}
return $auto_approve; // Default behavior
}, 10, 2);
Complete Registration Form Example
Full-Featured Registration Page
Shortcode:
[attrua_register
redirect="/dashboard"
show_password_strength="true"
show_links="true"
custom_fields="company:text:required,phone:tel:required,job_title:text:optional"
label_submit="Create My Account"
]
Renders as:
Email Address: [___________] *
Password: [__________ 👁] *
Strength: ●●●○○ Good
Confirm Password: [__________ 👁] *
Company Name: [___________] *
Phone Number: [___________] *
Job Title: [___________]
☐ I agree to the Terms of Service
[Create My Account]
Already have an account? Log in
Email Requirements Configuration
Settings Overview
Available options:
☑ Validate email domain exists
☑ Block disposable email addresses
☑ Require email verification
☑ Send welcome email
☑ Send admin notification
Email Verification Flow
When enabled:
Step 1: User registers
- Complete registration form
- Account created (inactive status)
- Verification email sent automatically
Step 2: User verifies
Email contains:
"Click to verify: https://site.com/verify?token=abc123"
User clicks link
Account activated
Welcome email sent (if enabled)
Step 3: Access granted
User can now log in
Full site access enabled
Best Practices
Begin with basic registration, add custom fields only as needed. Too many fields reduce conversions.
Email-only registration is cleaner and more professional for business applications.
Enable domain validation and disposable email blocking to maintain data quality.
Complete test registrations regularly to ensure smooth user experience.
Check pending registrations daily. Long delays frustrate users.
Troubleshooting
Registration Form Not Displaying
- Verify shortcode spelling: [attrua_register] (no typos)
- Check page is using proper template (not login template)
- Clear WordPress and browser cache
- Verify plugin is activated
- Check for JavaScript errors in browser console
Custom Fields Not Saving
- Verify field syntax: name:type:required
- Check for special characters in field names (use underscores)
- Verify database user_meta permissions
- Check PHP error log for database errors
- Ensure no conflicting plugins modifying registration
Emails Not Sending
- Test with Email Log plugin to verify emails queued
- Configure SMTP (Gmail, SendGrid, etc.)
- Check email settings in User Settings → Emails
- Verify "From" email not marked as spam
- Check hosting email limits not exceeded
Auto-Generated Usernames Conflicting
- Enable "Add Random Numbers" option
- Increase random number length to 6-8 digits
- Use longer custom prefix to reduce collisions
- Switch to random string generation method