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.

by PrepMed · github.com/megh-cpu/prepmed-job-listings · website

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/megh-cpu/prepmed-job-listings/archive/refs/heads/main.zip

Readme

PrepMed Job Listings

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

Read the full README on GitHub →