WP Manifestindependent plugin directory
manifest / users / wordpress-job-crud-plugin

NX Careers

A lightweight WordPress careers plugin with AJAX job listing, single job pages, and CV-based applications stored in a custom database table.

by Irfan · github.com/irfanabbasi22/wordpress-job-crud-plugin

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/irfanabbasi22/wordpress-job-crud-plugin/archive/refs/heads/main.zip

Short description: A lightweight WordPress careers plugin with AJAX job listing, single job pages, and CV-based applications stored in a custom database table.

Overview

NX Careers adds a Careers post type, category/location filtering, an AJAX-powered listing UI, and an application form that uploads a PDF CV and stores applications in a custom DB table (no custom post type for applications).

Features

  • Careers post type: Manage job posts in WordPress admin.
  • Taxonomies: Job Category and Location.
  • AJAX listing: Category switching + Load More without page reload.
  • AJAX applications:
    • PDF-only CV upload (max 5 MB)
    • Mobile number validation (digits only)
    • Field-level error display
  • Custom applications table: wp_nx_career_job_applicants (prefix depends on your install).
  • Admin Applications screen: View applications from the custom table.
  • Emails:
    • Applicant confirmation + Admin notification
    • HTML templates stored in templates/emails/
    • Optional CV attachment to admin email (setting)
    • {cv_url} placeholder tag supported

Requirements

  • WordPress 6.0+
  • PHP 7.4+

Installation

  1. Copy the plugin folder to:
    • wp-content/plugins/nx-careers/
  2. Activate NX Careers from WP Admin → Plugins.

On activation the plugin auto-creates the applications table:

  • {prefix}nx_career_job_applicants

Usage

Careers listing shortcode

Add the shortcode to any page:

[nx_careers]

Optional attribute:

[nx_careers per_page="6"]

Single job application form

The application form is rendered on single job pages (via the plugin’s template/hooks).

Front-end validation

  • CV: PDF only, max 5 MB
  • Mobile: required, digits-only (7–15 digits)

Data storage

Applications are stored in a custom DB table (not a CPT):

Table: {prefix}nx_career_job_applicants

Columns (high level):

  • id (PK)
  • career_id
  • first_name
  • last_name (optional)
  • email
  • phone
  • message
  • cv_attachment_id (WP attachment ID)
  • applied_at

Admin: Applications

Applications are available under:

  • WP Admin → Careers → Applications

Includes filtering by:

  • Search (name/email/phone)
  • Date range (applied date)
  • Job / Category / Location

Email templates

Email HTML templates live here:

  • templates/emails/applicant.php
  • templates/emails/admin.php

These templates receive:

  • $site_name
  • $brand_color
  • $subject
  • $content_html
  • $cta_url (currently blanked to disable the button)

Email settings

Go to:

  • WP Admin → Careers → Settings

You can edit:

  • Applicant subject/body
  • Admin subject/body
  • Recipients list
  • Attach CV to admin email (toggle)

Supported tags

Admin & applicant bodies support replacement tags, including:

  • {applicant_first}, {applicant_last}, {applicant_name}
  • {applicant_email}, {applicant_phone}, {applicant_message}
  • {job_title}, {job_category}, {job_location}
  • {application_id}, {site_name}
  • {cv_url} (URL to the uploaded CV attachment)

Note: {job_url} is intentionally disabled (renders as empty).

Development notes

Frontend assets

SCSS is compiled to a single CSS file used on the front-end:

  • Source: assets/css/frontend.scss
  • Output: assets/css/frontend.css

Build:

cd assets
npm install
npm run build

Watch:

cd assets
npm run watch

Security

  • Uses WordPress nonces for AJAX endpoints.
  • Server-side validation always runs, even if front-end JS validation is bypassed.
  • CV uploads are restricted to PDF + size-limited.

License

GPL v2 or later.