Adds applicant tracking and employee portal to WP ERP Free version. Features include job application form, employee management, and secure portal.
IC HR ERP Extension – Complete Documentation
Table of Contents
📋 Overview
The IC HR ERP Extension plugin provides complete Human Resources management system integration with WP ERP Free. This plugin enables you to:
👥 Applicant Tracking
Complete workflow for job applications from submission to hiring
🔐 Employee Portal
Secure self-service portal for employees with role-based access
📧 Automated Emails
Bilingual email notifications (English & Spanish) for applicants and admins
🛡️ Security Protection
Cloudflare Turnstile integration and age verification
Key Benefits
- Streamline Hiring: Automate the entire applicant tracking process
- Employee Self-Service: Reduce HR administrative workload
- Professional Branding: Customizable email templates with company branding
- Data Security: Secure applicant data with proper access controls
- Compliance Ready: Age verification and data protection features
⚙️ Requirements
WordPress Requirements
- WordPress 6.2 or higher
- PHP 7.4 or higher
- File upload permissions enabled
Required Plugins
Simple Cloudflare Turnstile
Mandatory: Required for spam protection on application forms
Download PluginServer Requirements
- PHP file uploads enabled
- PDF MIME type supported
- Minimum 100MB disk space for resumes
- Email sending capability (SMTP recommended)
🚀 Installation
Step 1: Install Required Plugins
- Install and activate WP ERP Free from WordPress.org
- Install and activate Simple Cloudflare Turnstile from WordPress.org
- Configure Cloudflare Turnstile with your Site Key and Secret Key
Step 2: Install IC HR ERP Extension
- Upload the plugin files to the
/wp-content/plugins/ic-hr-erp-extensiondirectory - Activate the plugin through the ‘Plugins’ screen in WordPress
- The setup wizard will guide you through initial configuration
Step 3: Initial Setup Wizard
Upon activation, you’ll be redirected to the setup wizard:
- Configure Email Settings: Set admin notification email, from name/email
- Company Information: Enter your company name for branding
- Age & File Settings: Set minimum applicant age and maximum file size
- Complete Setup: Save settings to finish initial configuration
🎉 Automatic Page Creation
The plugin automatically creates an HR Portal page at
/hr-portalwith the
[employee_portal]shortcode. This page is immediately ready for employee access.
⚙️ Configuration
Plugin Settings
Navigate to HR Management → Settings to configure:
Email Configuration
- Admin Notification Email: Where new application alerts are sent
- From Name: Name that appears as email sender
- From Email: Email address for sending notifications
- Reply-To Email: Optional reply-to address (uses from email if empty)
General Settings
- Company Name: Used in email signatures and notices
- Minimum Applicant Age: Age verification (default: 18)
- Maximum File Size: Resume upload limit in MB (default: 5MB)
Security Settings
- Cloudflare Turnstile: Automatic integration with installed plugin
- Age Verification: Client-side validation for minimum age
- File Type Validation: PDF-only uploads for resumes
Required Fields
Fields marked with * are required for plugin functionality:
- Admin Notification Email
- From Name
- From Email
- Company Name
HR Portal Page
The plugin automatically creates and manages the HR Portal page:
- URL:
https://yoursite.com/hr-portal - Content:
[employee_portal]shortcode - Access: Employees only (requires login with employee role)
- Management: Page is automatically updated if modified
🎯 Usage
Applicant Form Shortcode
Basic Usage:
[applicant_form]
Default Features:
- Full applicant information collection
- Phone number validation (10-digit format)
- Date of birth with age verification (18+)
- State selection dropdown (all US states + territories)
- Position selection with predefined options
- Resume upload (PDF only, size limited)
- Cover letter textarea
- Cloudflare Turnstile CAPTCHA protection
- Bilingual success messages (English & Spanish)
Employee Portal Shortcode
Basic Usage:
[employee_portal]
Features:
- Welcome Header: Displays employee name with logout option
- Paystub Access: Section for viewing/downloading paystubs
- Documents to Sign: Pending documents requiring signature
- Employee Information: Current employee details and update options
- Secure Access: Only accessible to users with “employee” role
Form Placement Examples
1. Dedicated Job Application Page
Create a new page with:
<div class="job-application-page"> <h1>Join Our Team</h1> <p>We're always looking for talented individuals to join our company.</p> [applicant_form] </div>
Form includes:
- Personal information section (name, email, phone, DOB, state)
- Employment information (position, resume upload, cover letter)
- Cloudflare Turnstile CAPTCHA verification
- Real-time phone formatting (123-456-7890)
- Age validation (must be 18+)
2. Career Opportunities Page
Combine job listings with application form:
<div class="careers-page"> <h1>Career Opportunities</h1> <div class="job-listings"> <!-- Your job listings here --> </div> <div class="application-section"> <h2>Apply Now</h2> <p>See a position that fits your skills? Submit your application.</p> [applicant_form] </div> </div>
HR Portal Page
The plugin automatically creates the HR Portal page at /hr-portal. You can also manually create additional employee portal pages:
<!-- Custom Employee Portal Page --> <div class="employee-resources"> <h1>Employee Resources</h1> <p>Welcome to the employee resource portal.</p> [employee_portal] </div>
Managing Applicants
Access the applicant management system:
- Go to HR Management → Applicants in WordPress admin
- View applicants by status: Pending, Reviewed, Approved, Rejected
- Click on any applicant to view full details and resume
- Update applicant status with one click
- Convert approved applicants to employees automatically
Employee Management
Once applicants are converted to employees:
- Employees are automatically assigned the “employee” role
- Admin bar is hidden for employees (cleaner interface)
- Employees are redirected to HR Portal after login
- Employee access is restricted to frontend only
Form Styling
The plugin includes responsive CSS styling. For custom styling:
/* Custom form styling */
#applicant-form-container {
max-width: 800px;
margin: 0 auto;
}
#applicant-form-container .form-section {
background: white;
padding: 25px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
margin-bottom: 30px;
}
#applicant-form-container .form-row {
display: flex;
gap: 20px;
margin-bottom: 20px;
}
#applicant-form-container .form-group {
flex: 1;
}
#applicant-form-container label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #333;
}
#applicant-form-container input,
#applicant-form-container select,
#applicant-form-container textarea {
width: 100%;
padding: 12px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
#applicant-form-container input:focus,
#applicant-form-container select:focus,
#applicant-form-container textarea:focus {
border-color: #0073aa;
outline: none;
box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}
/* Success message styling */
.success-message {
background: #f0fff0;
border: 2px solid #00cc00;
padding: 30px;
border-radius: 8px;
text-align: center;
margin: 20px 0;
}
.spanish-message {
background: #f8f9fa;
border: 1px solid #dee2e6;
padding: 20px;
border-radius: 8px;
margin-top: 20px;
}
📸 Screenshot Examples
For documentation, include screenshots of:
- Applicant form on frontend
- Success message with bilingual confirmation
- HR Portal employee interface
- Admin applicant management screen
- Plugin settings page
- Setup wizard interface
🔧 Troubleshooting
Common Issues
❌ Setup Wizard Not Completing
Solution:
- Ensure all required fields (*) are filled
- Verify email addresses are valid formats
- Check that WP ERP plugin is active
- Clear browser cache and retry
❌ File Uploads Not Working
Solution:
- Verify file is PDF format
- Check file size is under limit (default 5MB)
- Ensure PHP file uploads are enabled on server
- Check WordPress upload directory permissions
❌ HR Portal Page Not Created
Solution:
- Check if page already exists at /hr-portal
- Manually create page with [employee_portal] shortcode
- Verify plugin activation completed successfully
- Check for plugin conflicts
❌ Emails Not Sending
Solution:
- Verify email settings are configured
- Check spam/junk folders
- Test WordPress email functionality
- Consider using SMTP plugin for reliable email
Plugin Conflict Testing
If experiencing issues:
- Deactivate all other plugins temporarily
- Test HR ERP Extension functionality
- Reactivate plugins one by one to identify conflicts
- Test with default WordPress theme
Database Issues
// Check database tables exist:
wp_icllc_hr_applicants
wp_icllc_hr_documents
// Check required options are set:
icllc_hr_admin_email
icllc_hr_from_name
icllc_hr_from_email
icllc_hr_company_name
icllc_hr_setup_complete
🔗 API Reference
AJAX Endpoints
The plugin uses AJAX for form processing:
Application Submission
POST /wp-admin/admin-ajax.php?action=submit_application
Parameters: All form fields + application_nonce + cf-turnstile-response
Response: JSON with success/error and bilingual messages
Applicant Status Update
POST /wp-admin/admin-ajax.php?action=update_applicant_status
Parameters: applicant_id, new_status, nonce
Used in: Admin interface for managing applicants
Create Employee from Applicant
POST /wp-admin/admin-ajax.php?action=create_employee_from_applicant
Parameters: applicant_id, nonce
Creates: WP ERP employee from approved applicant
Custom Integration Examples
Custom Application Form Integration:
<form id="custom-application-form">
<input type="text" name="first_name" placeholder="First Name" required>
<input type="text" name="last_name" placeholder="Last Name" required>
<input type="email" name="email" placeholder="Email" required>
<input type="tel" name="phone" placeholder="Phone" required>
<!-- Add other required fields -->
<!-- Turnstile container -->
<div class="cf-turnstile" data-sitekey="your-site-key"></div>
<button type="submit">Submit Application</button>
</form>
<script>
jQuery('#custom-application-form').on('submit', function(e) {
e.preventDefault();
var formData = new FormData(this);
formData.append('action', 'submit_application');
formData.append('cf-turnstile-response', jQuery('[name="cf-turnstile-response"]').val());
jQuery.ajax({
url: '',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(response) {
if (response.success) {
// Show success message
jQuery('#custom-application-form').html(
'<div class="success-message">' +
'<h2>Application Submitted!</h2>' +
'<p>' + response.data.message_english + '</p>' +
'</div>'
);
} else {
alert('Error: ' + response.data);
}
}
});
});
</script>
💬 Support
Getting Help
If you need assistance with the IC HR ERP Extension plugin:
Contact Information
- Website: IC HR ERP Extension
- Support: Contact Form
- GitHub: Source Code & Issues
- License: GPL v2 or later
🎉 Thank You for Using Our Plugin!
We appreciate your support and are committed to providing excellent HR management solutions for your WordPress and WP ERP integration needs.
