WP Manifestindependent plugin directory
manifest / content / prepmed-job-listings

PrepMed Job Listings

Complete WordPress job listing plugin with search, filters, colour customiser, field editor, and SMTP email notifications.

★ 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/megh-cpu/prepmed-job-listings/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.

A complete, self‑contained WordPress plugin for publishing job openings, collecting applications, and managing candidates — with built‑in search & filters, a live colour customiser, an editable field & email‑template manager, and reliable SMTP email delivery.

WordPress Plugin Version PHP License


✨ Features

Feature Description
🧩 Custom Job Post Type Jobs are managed as a dedicated pmjl_job post type with archives, featured images, and clean /jobs/ permalinks.
🔍 Search & Filters Front‑end job board with live search plus location, level, and department dropdown filters.
📝 Application Form AJAX‑powered application form with resume upload, nonce protection, and configurable fields.
🗂️ Submissions Manager All applications are stored in a custom database table and managed from the admin (shortlist / reject / status tracking).
✉️ Email Notifications Automatic admin notifications, applicant confirmations, plus one‑click shortlist & rejection emails — all templates editable from Settings.
📮 Built‑in SMTP Optional SMTP mailer (Hostinger / cPanel optimised) so emails land in the inbox, not spam. No extra plugin required.
🎨 Live Colour Customiser Brand the entire job board from Settings using a colour picker — changes apply instantly via dynamic CSS variables.
⚙️ Field & Template Editor Rename fields, manage locations, and customise every email subject & body without touching code.

📦 Requirements

  • WordPress 5.5+
  • PHP 7.4+
  • A working mail setup (PHP mail() works out of the box; SMTP recommended for deliverability)

🚀 Installation

  1. Download or clone this repository:
    git clone https://github.com/<your-username>/prepmed-jobs.git
  2. Copy the plugin folder into your WordPress installation:
    wp-content/plugins/prepmed-jobs/

    Make sure the main file prepmed-jobs.php sits at the root of that folder.

  3. In the WordPress admin, go to Plugins → Installed Plugins and activate PrepMed Job Listings.
  4. On activation the plugin automatically:
    • registers the Job Listings post type, and
    • creates the {prefix}_pmjl_submissions database table for applications.

🛠️ Usage

Display the job board

Add the shortcode to any page or post:

[pmjl_jobs]

Optional attribute:

[pmjl_jobs posts_per_page="10"]

This renders the searchable, filterable job listing. Each job links to a single‑job page that includes the application form.

Add jobs

Go to Job Listings → Add New Job, fill in the title, description, and the job meta (type, mode, location, level, department, sort priority), then publish.

Manage applications

Open Job Listings → Applications to view submissions, download resumes, and shortlist or reject candidates — each action can trigger a templated email to the applicant.

Configure settings

Under Job Listings → Settings you can manage:

  • Notifications — admin recipient emails and message templates
  • SMTP / Email — enable SMTP, set host/port/credentials, and send a test email
  • Locations — the locations shown in the filter dropdown
  • Appearance — brand colours via the live colour picker
  • Fields — labels for the application form fields

✉️ SMTP Configuration

SMTP credentials are entered in Job Listings → Settings → SMTP / Email and stored in the WordPress database — never hard‑coded in the source.

Typical Hostinger settings:

Setting Value
Host smtp.hostinger.com
Port 465 (SSL) or 587 (TLS)
Username your full email, e.g. hr@prepmed.in
Password your email account password
From Email must match the username exactly

Hostinger rejects mail when the From address differs from the authenticated SMTP username — the plugin enforces this automatically.

Use the Send Test button on the SMTP tab to verify your configuration.


📁 Project Structure

prepmed-jobs/
├── prepmed-jobs.php              # Main plugin file: constants, hooks, asset loading, dynamic CSS
├── includes/
│   ├── post-types.php           # Registers the job post type + submissions DB table
│   ├── metaboxes.php            # Job meta fields (type, mode, location, level, department…)
│   ├── template-loader.php      # Loads the single-job template
│   ├── shortcodes.php           # [pmjl_jobs] listing with search & filters
│   ├── form-handler.php         # AJAX application handling + notification emails
│   ├── admin-settings.php       # Settings page (notifications, locations, colours, fields)
│   ├── admin-submissions.php    # Applications manager + shortlist/reject emails
│   └── smtp.php                 # SMTP mailer (Hostinger / cPanel optimised)
├── templates/
│   └── single-pmjl_job.php      # Single job + application form template
└── assets/
    ├── style.css                # Front-end styles
    ├── script.js                # Front-end search/filter/form logic
    ├── admin.css                # Admin styles
    └── admin.js                 # Admin (colour picker, settings) logic

🔒 Security Notes

  • All form input is processed through WordPress nonces and sanitisation.
  • Direct file access is blocked (if ( ! defined( 'ABSPATH' ) ) { exit; }).
  • No credentials are stored in the repository — SMTP and notification settings live in the site database.

📄 License

Released under the GPL‑2.0 license, consistent with WordPress core.


Built with ❤️ by PrepMed