WP Manifestindependent plugin directory
manifest / admin / emplyoee-manager-plugin

Employee Manager

A professional WordPress employee management solution with REST API and admin management.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/gitsanje/emplyoee-manager-plugin/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Employee Manager is a WordPress plugin for maintaining an employee directory from the WordPress admin area, publishing a searchable frontend directory, importing and exporting CSV files, and exposing employee data through a REST API.

Requirements

  • WordPress 6.0 or later
  • PHP 8.0 or later
  • The plugin's Composer autoloader (vendor/autoload.php)

Installation

  1. Copy the employee-manager directory to wp-content/plugins/.

  2. If the Composer dependencies are not included, run this from the plugin directory:

     composer install --no-dev
  3. In WordPress, open Plugins, activate Employee Manager, and open Employee Manager in the admin menu.

Activation creates the {wordpress_prefix}employee_manager database table. Deactivation does not delete employee data. Uninstalling the plugin removes the table and the core options for pagination, currency, departments, and API access.

Admin Usage

Users with the manage_options capability can access:

  • Employees: view, search, filter, edit, delete, and bulk-update employees.
  • Add Employee: create an employee record.
  • Dashboard: view employee totals and department summaries.
  • Import / Export: import employee records from CSV or export filtered records.
  • Settings: configure departments, pagination, currency, directory visibility, salary visibility, REST API access, and welcome emails.

An employee requires a name, email address, phone number, department, position, and a non-negative salary. Email addresses and non-empty employee codes must be unique.

Supported statuses are active, inactive, on_leave, and terminated. Supported work locations are onsite, remote, and hybrid.

Frontend Directory

Add the shortcode to any page or post:

[employee_directory]

Supported attributes:

Attribute Default Description
department empty Restrict the initial directory to one department.
layout grid Directory layout value passed to the template.
per_page Settings value, normally 12 Number of employees per page.
show_search yes Show the search control.
show_filter yes Show the department filter.

The directory accepts these query parameters for pagination and filtering: epage, esearch, and edept. Public visitors see active employees only. Salary is hidden from public visitors unless Show Salary on Frontend is enabled; administrators can always see it. If Enable Public Directory is disabled, only administrators can view the directory.

CSV Import and Export

Use Employee Manager > Import / Export. The importer reads the first row as column headers and supports the following standard format:

Employee Code,Name,Email,Phone,Department,Position,Salary,Status,Joining Date,Work Location,Notes
EMP-0101,John Doe,john.doe@example.com,+1 555-0199,Engineering,Senior Developer,85000,active,2024-01-15,hybrid,Lead backend architect

Required CSV values are Name, Email, Phone, Department, Position, and a valid non-negative Salary. The importer also accepts common aliases such as Code, Full Name, Job Title, Hire Date, and Location.

Import behavior:

  • Existing records are updated when their email or employee code matches.
  • New records are created when no match exists.
  • Duplicate employee codes for new records are replaced with a generated unique code.
  • Invalid or incomplete rows are skipped and reported.

Exports include the employee fields plus Created At and can be filtered by department and status.

REST API

The API base URL is:

/wp-json/employee-manager/v1

REST API access must be enabled in Settings > REST API & Email Notifications.

Method Endpoint Access Description
GET /employees Public when the directory is public; otherwise administrators List employees.
POST /employees Administrators Create an employee.
GET /employees/{id} Public when the directory is public; otherwise administrators Retrieve one employee.
PUT / PATCH /employees/{id} Administrators Update an employee.
DELETE /employees/{id} Administrators Delete an employee.
GET /stats Administrators Retrieve dashboard statistics.
GET /departments Public when the directory is public; otherwise administrators Retrieve configured departments and summaries.
POST /bulk Administrators Delete employees or update their status in bulk.

List requests support per_page, page, department, search, status, orderby, and order. Non-administrators always receive active employees only. Salary is omitted for non-administrators unless frontend salary visibility is enabled.

Authenticated write requests should use standard WordPress authentication and a REST nonce where applicable:

X-WP-Nonce: <nonce>

Settings Defaults

  • Employees per page: 20 in admin/API responses, 12 for the shortcode.
  • Currency: USD.
  • Departments: Sales, Support, Marketing, Engineering, HR, Finance.
  • REST API: enabled.
  • Public directory: enabled.
  • Frontend salary display: disabled.
  • Welcome email notifications: disabled.

Uninstall

Uninstalling through WordPress removes the employee table and the core plugin options. Back up employee data before uninstalling.

License

Employee Manager is licensed under the GPL-2.0-or-later license.