Manage job listings from the WordPress admin panel, and allow users to post job listings directly to your site.

Description

WP Job Manager is a lightweight job listing plugin for adding job-board like functionality to your WordPress site. Being shortcode based, it can work with any theme (given a bit of CSS styling) and is really simple to setup.

Features

Add, manage, and categorize job listings using the familiar WordPress UI.
Searchable & filterable ajax powered job listings added to your pages via shortcodes.
Frontend forms for guests and registered users to submit & manage job listings.
Allow job listers to preview their listing before it goes live. The preview matches the appearance of a live job listing.
Each listing can be tied to an email or website address so that job seekers can apply to the jobs.
Searches also display RSS links to allow job seekers to be alerted to new jobs matching their search.
Allow logged in employers to view, edit, mark filled, or delete their active job listings.
Developer friendly code – Custom Post Types, endpoints & template files.
The plugin comes with several shortcodes to output jobs in various formats, and since its built with Custom Post Types you are free to extend it further through themes.
Read more about WP Job Manager.

Documentation

Documentation for the core plugin and add-ons can be found on the docs site here. Please take a look before requesting support because it covers all frequently asked questions!

Add-ons

The core WP Job Manager plugin is free and always will be. It covers all functionality we consider ‘core’ to running a simple job board site.
Additional, advanced functionality is available through add-ons. Not only do these extend the usefulness of the core plugin, they also help fund the development and support of core.
You can browse available add-ons after installing the plugin by going to Job Listings > Add-ons. Our popular add-ons include:
Applications
Allow candidates to apply to jobs using a form & employers to view and manage the applications from their job dashboard.
WooCommerce Paid Listings
Paid listing functionality powered by WooCommerce. Create custom job packages which can be purchased or redeemed during job submission. Requires the WooCommerce plugin.
Resume Manager
Resume Manager is a plugin built on top of WP Job Manager which adds a resume submission form to your site and resume listings, all manageable from WordPress admin.
Job Alerts
Allow registered users to save their job searches and create alerts which send new jobs via email daily, weekly or fortnightly.
Core add-on bundle
You can get the above add-ons and several others at discount with our Core Add-on Bundle. Take a look!

Contributing and reporting bugs

You can contribute code to this plugin via GitHub: https://github.com/Automattic/WP-Job-Manager and localizations via https://translate.wordpress.org/projects/wp-plugins/wp-job-manager
Thanks to all of our contributors.

Support

Use the WordPress.org forums for community support where we try to help all users. If you spot a bug, you can log it (or fix it) on Github where we can act upon them more efficiently.
If you need help with one of our add-ons, please raise a ticket in our help desk.
If you want help with a customization, please consider hiring a developer! http://jobs.wordpress.net/ is a good place to start..

Getting started

Once installed:
1. Create a page called “jobs” and inside place the [jobs] shortcode. This will list your jobs.
2. Create a page called “submit job” and inside place the [submit_job_form] shortcode if you want front-end submissions.
3. Create a page called “job dashboard” and inside place the [job_dashboard] shortcode for logged in users to manage their listings.
Note when using shortcodes, if the content looks blown up/spaced out/poorly styled, edit your page and above the visual editor click on the ‘text’ tab. Then remove any ‘pre’ or ‘code’ tags wrapping your shortcode.
For more information, read the documentation.

Frequently Asked Questions

How do I setup WP Job Manager?
View the getting installation and setup guide for advice getting started with the plugin. In most cases it’s just a case of adding some shortcodes to your pages!

Can I use WP Job Manager without frontend job submission?
Yes! If you don’t setup the [submit_job_form] shortcode, you can just post from the admin backend.

How can I customize the job application process?
There are several ways to customize the job application process in WP Job Manager, including using some extra plugins (some are free on WordPress.org).
See: Customizing the Job Application Process

How can I customize the job submission form?
There are three ways to customize the fields in WP Job Manager;
1. For simple text changes, using a localisation file or a plugin such as https://wordpress.org/plugins/say-what/
2. For field changes, or adding new fields, using functions/filters inside your theme’s functions.php file: https://wpjobmanager.com/document/editing-job-submission-fields/
3. Use a 3rd party plugin such as https://plugins.smyl.es/wp-job-manager-field-editor/ which has a UI for field editing.
If you’d like to learn about WordPress filters, here is a great place to start: https://pippinsplugins.com/a-quick-introduction-to-using-filters/

How can I be notified of new jobs via email?
If you wish to be notified of new postings on your site you can use a plugin such as Post Status Notifier.

What language files are available?
You can view (and contribute) translations via the translate.wordpress.org.

Unit Testing

The plugin contains all the files needed for running tests.
Developers who would like to run the existing tests or add their tests to the test suite and execute them will have to follow these steps:
1. cd into the plugin directory.
2. Run the install script(you will need to have wget installed) – bash tests/bin/install-wp-tests.sh <db-name> <db-user> <db-pass> <db-host> <wp-version>.
3. Run the plugin tests – phpunit
The install script installs a copy of WordPress in the /tmp directory along with the WordPress unit testing tools. It then creates a database based on the parameters passed to it.