Plugin Directory

WP Job Manager

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


  • Fix - Conflict between the_job_location() and the regions plugin.
  • Tweak - Allow some HTML in the_job_location - uses wp_kses_post.


  • Fix - Transient clear query.
  • Tweak - New user notification pluggable function.
  • Tweak - Use subquery in keyword search to avoid long queries.
  • Tweak - Only search for keywords of 2 or more characters.
  • Tweak - job_manager_get_listings_keyword_length_threshold filter.
  • Tweak - PolyLang compatibility functions.
  • Tweak - Unattach company logo when a new attachment is uploaded.


  • Fix - Author check in job_manager_user_can_edit_job().
  • Tweak - Before deleting a job, delete its attachments.
  • Tweak - Show previews in backend if needed.


  • Fix - Handle WP 4.3 signup notification.
  • Fix - Map mime types to those that WordPress knows.
  • Fix - Alert text color.
  • Fix - Searches containing special chars.
  • Tweak - Improved uploader error handling and updated library.
  • Tweak - Improve job_manager_user_can_post_job and job_manager_user_can_edit_job capability handling in job-submit.php
  • Tweak - Clear transients in batches of 500.
  • Tweak - Removed transifex and translations - translation will take place on https://translate.wordpress.org/projects/wp-plugins/wp-job-manager


  • Fixed editing content with wp_editor. Can no longer be passed to function already escaped.


  • Fix - Security: XSS issue in account signin.
  • Tweak - Update new account email text.


  • Fix - 4.3 issue showing "Description is a required field" due to editor field.
  • Tweak - Default job_manager_delete_expired_jobs to false. Set to true to have expired jobs deleted automatically. More sensible default.
  • Tweak - job_manager_term_select_field_wp_dropdown_categories_args filter.
  • Tweak - Ajax WPML handling.


  • Fix - job_manager_ajax_filters -> job_manager_ajax_file_upload in file upload script.


  • Feature - Allow [job_summary] to output multiple listings via 'limit' parameter.
  • Feature - Added flowplayer support.
  • Fix - Special chars in feeds.
  • Fix - Permalinks with index.php inside.
  • Fix - Notice when saving job form.
  • Fix - PHP4 widget constructors (https://gist.github.com/chriscct7/d7d077afb01011b1839d).
  • Tweak - Allow translation of job_manager_dropdown_categories.
  • Tweak - Added handling for .job-manager-filter class.
  • Tweak - Added trailing slashes to ajax endpoints.
  • Tweak - Made videos responsive.
  • Tweak - job_manager_attach_uploaded_files filter.


  • Tweak - In 1.21.0 we switched to GET ajax requests to leverage caching, however, due to the length of some queries this was causing 414 request URI too long errors in many environments. Reverted to POST to avoid this.
  • Tweak - flush_rewrite_rules after updates to ensure ajax endpoint exists.
  • Tweak - Use relative path for ajax endpoint to work around https/http.


  • Fix - WPML integration with lang.
  • Tweak - Improved plugin activation code.
  • Tweak - Improved theme switch code.
  • Tweak - Search the entire meta field, not just from the start.
  • Tweak - Added some debugging code to ajax-filters to display in console.


  • Fix - Send entire form data (listify workaround).
  • Fix - Set is_home false on ajax endpoint (listify workaround).


  • Fix - Orderby featured should be "menu order, date", not "manu order, title".
  • Tweak - Remove duplicate data from form_data in filters JS.
  • Tweak - If index is -1 in filters JS, abort.


  • Feature - Custom AJAX endpoints to reduce overhead of loading admin.
  • Feature - Support radio fields.
  • Fix - Video max width.
  • Tweak - Admin remove overflow hidden from data box.
  • Tweak - Update notice styling.
  • Tweak - Improve orderby. https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/
  • Tweak - nofollow apply links.
  • Tweak - Rename 'title' to 'job title' for clarity.
  • Tweak - submit_job_form_prefix_post_name_with_company filter.
  • Tweak - submit_job_form_prefix_post_name_with_location filter.
  • Tweak - submit_job_form_prefix_post_name_with_job_type filter.
  • Tweak - Improved job_feed searching.
  • Tweak - Improved transient cleaning.


  • Fix frontend listing edits.


  • Tweak - Set form actions to current page.
  • Fix - Video embeds.
  • Fix - Load textdomain before post types are registered.


  • Fix - It's 2015, but some people are still running PHP 5.2. Compatibility fix.


  • Tweak - Refactored form classes to be instance based rather than static. Reduction in code base.
  • Tweak - Admin styling of the job data panels.
  • Tweak - Admin styling of the status column.
  • Tweak - Better handling of the expiry field.
  • Tweak - Search _geolocation_state_long.
  • Tweak - Allow admin fields to have custom 'name'.
  • Tweak - Use wp_video_shortcode instead of oembed directly.
  • Tweak - Tweak menu order code for featured jobs - use -1 for featured and leave other jobs alone.
  • Tweak - Clear expired date when publishing an expired listing.
  • Tweak - clear_expired_transients function.
  • Fix - Prevent term-checklist being disabled for guests.
  • Fix - Add WPML var to transient name.
  • Fix - Remove use of create_function.


  • Fix - get_job_listings_keyword_search keyword search.
  • Fix - Clear term cache when terms are set for any object.
  • Fix - Legacy uploads.
  • Tweak - RTL improvements.
  • Tweak - Use RLIKE to search keywords in content.
  • Tweak - Show relative pagination.
  • Updated translations.
  • Arabic translation by Mamdouh Samy.


  • Feature - Support posts_per_page in feed.
  • Fix - Correctly set menu_order when creating a new job, or updating featured status.
  • Fix - Updater when there are no featured jobs.
  • Fix - Add geolocation_street_number to clear_location_data.


  • Fix - Remove requried attribute from file input.


  • Fix - Remove file type check when field is not required and empty.
  • Fix - Hide "Applications have closed" for previews.


  • Feature - Ajax loading history - back button will take you back to current position in the search. If you are on > page 1, a 'load previous' button will be shown so you can paginate either way.
  • Feature - Ajax file upload during job submission.
  • Feature - Cookie set when submitting a job to allow resuming if you leave the page.
  • Feature - job_apply shortcode to show application area in other places on your site.
  • Feature - Allow admin fields to be priority sorted.
  • Feature - Featured job widget.
  • Feature - Scroll to top on pagination click.
  • Feature - Option to "Hide content within expired listings". If disabled, expired listings will be listed normally with applications disabled.
  • Fix - Prevent attachments being uploaded several times.
  • Fix - Expiry date on first save.
  • Fix - Relist should go back to form.
  • Fix - jquery.com CDN for CSS.
  • Tweak - Geocode street and street number separately.
  • Tweak - File upload field markup.
  • Tweak - Added filters around taxonomy definition.
  • Tweak - Chanced search logic/query to use the new meta queries in 4.1.
  • Tweak - Implement transient caching for searches.
  • Tweak - Removed wp_dropdown_user due to performance concerns.
  • Tweak - Use menu_order to make featured listings sticky. Improves performance.
  • Tweak - Retrieve AJAX jobs with GET rather than POST request to take advantage of more caching. Plugins looking for POST data will need to update to look for GET/REQUEST instead.
  • Tweak - Prevent themes that (sigh) mess with content hooks from breaking inputs.
  • Tweak - Remove unused job-category field.
  • Tweak - Hide company div if company name missing.


  • Fix - Core template overrides.
  • Updated localisations.


  • Feature - Sortable location column in admin.
  • Feature - Automatically Generate Username from Email Address option (disable to show a username field).
  • Feature - 'filled' option for job shortcode to show all filled/non filled jobs.
  • Fix - Pagination with default permalinks.
  • Fix - Correctly generate geolocation data when adding a post manually.
  • Fix - Chosen width when resizing the page.
  • Fix - Show no jobs when all types de-selected.
  • Tweak - content-widget-no-jobs-found.php template file.
  • Tweak - Don't limit keyword search query functions to published jobs.
  • Tweak - job_manager_output_jobs_no_results action.
  • Tweak - No results template hooked into job_manager_output_jobs_no_results.
  • Tweak - Changed content-no-jobs-found.php content to work for ajax and static lists of jobs. Tweaked text.
  • Tweak - job_manager_default_company_logo filter for changing default company image.
  • Tweak - Enhance multiselect field with chosen.
  • Dev - Abiltiy to pass shortcode args to submit_job_form shortcode.
  • Dev - Made get_job_manager_template_part() use locate_job_manager_template().
  • Dev - Changed how username/email/role are passed to wp_job_manager_create_account (backwards compat).


  • Feature - Added html5 required attribute to required fields.
  • Feature - Added compatibility with RP4WP.
  • Fix - Chosen RTL.
  • Fix - Addded additonal check to check edit capabilities.
  • Fix - Add correct step input to submission form.
  • Tweak - Add CSS class to 'showing' bar when shoing all results (no filters).
  • Tweak - Geocode, use sublocality_level_1 as city.
  • Tweak - Don't update slug when editing via the frontend.
  • Tweak - Set default meta data for new jobs.
  • Tweak - Add geolocation data after import with WP ALL Import.
  • Tweak - Filter to disable chosen: job_manager_chosen_enabled
  • Tweak - Login link on job dashboard. job-dashboard-login.php template file.
  • Tweak - Made backend management honour capabilities of users. Props to minderdl.


  • Fix - Keep post name when pending job is posted by non-admin.
  • Fix - Prevent special chars breaking the feeds.
  • Tweak - Added new capabilities for all aspects of Job Listing Management. e.g. edit_job_listings, add_job_listing etc etc. Admin role will be updated on activation/upgrade. If you use custom roles, you'll need to edit them to grant access to the parts you wish.
  • Tweak - Improved uninstaller.
  • Tweak - Clear location data should include geolocation_postcode.
  • Tweak - Always show 'showing' bar, but conditonally show 'reset' link.
  • Tweak - Trigger geolocation whenever location field is saved, even by 3rd parties.


  • Feature - job_manager_user_can_edit_pending_submissions function and setting.
  • Feature - Job summary shortcode - support random display of job (featured or non featured).
  • Feature - In admin, when clicking an author name show all jobs for that author.
  • Tweak - Added sanitization function to form class to handle strings and arrays.


  • Fix - Use triggerHandler() instead of trigger() in ajax-filters to prevent events bubbling up.
  • Fix - Append current 'lang' to AJAX calls for WPML.
  • Fix - When specifying categories on the jobs shortcode, don't clear those categories on reset.
  • Tweak - Added job_manager_admin_screen_ids filter.


  • Added setup wizard for new installs that creates pages/shortcodes automatically.
  • Added job_manager_get_permalink function.
  • Fix - Only show website link when actually set.
  • Fix - Only validate application when field is set.
  • Tweak - Added description to all fields.
  • Tweak - Added better setting fields for defining which pages contain the shortcodes.
  • Tweak - Nofollow website links.
  • Tweak - Removed font-sizes from default CSS and fixed display in default WP themes.


  • Added location/keyword option to recent jobs widget.
  • Added job-listings-start and job-listings-end.php templates for customisation the wrapping elements.
  • Added filter type option for job categories. Can be set to require matching to any or all selected categories.
  • Added checkbox field type for forms.
  • Made backend application email field default to logged in user.
  • Fix - job_manager_get_resized_image to not error when it cannot read the image file.
  • Fix - Make admin_url relative.
  • Fix - Chosen CSS cutting off the placeholder in Firefox.
  • Fix - Added _company_video in backend.


  • Extra filters for the filters template.
  • Changed text strings for easier customisations based on post type labels, and made some strings more generic.
  • New field types - term-checklist, term-multiselect, term-select. These save terms only.
  • Added chosen javascript to enhance multiselect boxes when needed.
  • Multiple category support.
  • Attach Images on Upload to the job posts.
  • Added an option to show a multiselect for categories on the job filters.
  • Enabled chosen() for the job category filter.
  • Added content-single-job_listing-company.php and content-single-job_listing-meta.php templates. These are hooked in.
  • Added optional company video field to submission form.
  • Video appended to company information box.
  • the_company_video() and get_the_company_video() functions.
  • show_more="false" for jobs shortcode to prevent loading more jobs.
  • job_manager_delete_expired_jobs filter (__return_false to disable expired job deletion).
  • job_manager_delete_expired_jobs_days filter (set number of days before deletion - default is 30).
  • Support HTML5 multiple attribute for file upload field. Pass multiple=>'true' to form field definition to enable.
  • Later loading for template functions.


  • Shortcode arg to show numbered pagination instead of 'load more jobs'. show_pagination argument.
  • Define support for Jetpack publicize.
  • Show company name alt text for company logo.
  • Sort jobs by title, date, expirey date.
  • Added noscript element for jobs shortcode.
  • filter_var to validate URLs on the job submission form.


  • Job submission form categories must not hide empty categories.


  • On the job submission form, display hierarchical categories.
  • Use job_manager_ prefixed hooks for registration (register_post/registration_errors/register_form) to prevent issues with Captcha plugins.
  • Pass $post to job_manager_application_email_subject
  • Additonal hooks in job-filters template, and moved out job types output to separate template file.
  • Option to set the job dashboard page slug so plugins know where to look.
  • Allow you@yourdomain.com to be translated.
  • Make taxonomies hidden unless current_theme_supports( 'job-manager-templates' )
  • Adjusted job application area styling and added some additonal filters.
  • Improve backend order status selection.
  • Added some responsive styles for job lists.
  • Allow users to relist a job from the frontend. (Ensure WC Paid Listings and Simple Paid Listings are updated to support this).


  • Fix ajax filters 'true' for show_filters
  • Fix geocoding for certain address strings
  • Fix keywords typo
  • Remove deprecated $wpdb->escape calls. Replaced with esc_sql


  • Switch geocode to json and improve error checking.
  • If query limit is reached, stop making requests for a while.
  • Added extra data inside job_feed.
  • Few extra icons in font.
  • Additonal hooks in single template.
  • Pick up search_category from querystring to set default/selected category.
  • Ability to define selected_job_types for the jobs shortcode which will set the default job type filters.
  • Took out show_featured_only arg for the [jobs] shortcode and added 'featured' which can be set to true or false to show or hide featured jobs, or left null to show both.
  • Removed nonce from frontend job submission form to prevent issues with caching.


  • Trigger change on 'enter' when filtering jobs.
  • Updated add-ons page to pull from wpjobmanager.com.
  • Updated links.
  • Fixed support for custom upload URLs.
  • Choose/limit application method to email, url or either.
  • Default application value (if logged in) set to user's email address.
  • show_featured_only option for [jobs] shortcode.
  • Add required-field class around required inputs.
  • Enable paste as text in wp-editor field.


  • Fix email URLs.
  • Target blank for application URLs.
  • Add posted by (author) setting in backend.
  • When saving jobs, ensure _featured and _filled are set.
  • Load admin scripts conditionally.


  • Fix missing parameter in application_details_url causing URLs to be missing when applying.


  • Removed resource heavy 'default_meta' function from the installation process.


  • Template - Split off URL and email application methods and added new hooks. This allows other plugins to manipulate the content.
  • Pass $values to edit job save function so permalinks are preserved.
  • When showing filters, ensure we check by slug if category is non-numeric.
  • Give listings ul a min height so that loading image is visible.
  • content-no-jobs-found.php template.
  • Fix apostrophe direction in signin template.
  • Bulk expire jobs.
  • submit_job_form_required_label hook.
  • ability to set default state for selects on submit form.
  • allow passed in classes in get_job_listing_class function.
  • Hook in the content only if in_the_loop(). Fixes issues with jobify and yoast SEO.
  • Removed .clear mixin to prevent theme conflicts.


  • For initial load, target all .job_filters areas. Jobify compat.


  • Fix - Corrected check to see if any category terms with jobs exist


  • Feature - Take search/location vars from the querystring if set
  • Feature - Option to choose role for registration, and added an 'employer' role.
  • Feature - Support for comma separated keywords when searching
  • Fix - Use add_post_meta when editing a job to maintain featured status
  • Fix - category ordering
  • Fix - searching for keyword + location at the same time
  • Fix - Only show categories select box when they exist
  • Dev - job_manager_application_email_subject filter


  • Some changes to file uploads to support custom mime types
  • Updated icon file (http://fontello.com/)
  • Fix category rss links
  • When doing a location search, search geolocation data
  • Fix notices when removing all company fields
  • Made jslint happy with ajax-filters.js
  • Use get_option( 'default_role' ) when creating a user
  • Grunt for release


  • Preserve line breaks when saving textarea fields in admin
  • Hide 'showing all x' when no filters are chosen.
  • Register 'preview' status so that the counts are correct.
  • Delete previews via cron job.



  • Added geolocation to save location data to meta after posting or saving a job. This will be used by other plugins.
  • Filter job_manager_geolocation_enabled and return false to turn off geolocation features.
  • Jobs shortcode can now be passed 'location' and 'keywords' to set the default for filters, or show only jobs with those keywords if filters are disabled
  • Html fix in widget
  • Add border around wp editor
  • Fix company logo in firefox
  • submit_job_form_wp_editor_args filter
  • "Empty" categories are visible when filtering jobs in admin.


  • MP6/WP 3.8 optimised styling. Min version 3.8 for new styling.
  • Removed images previously used in admin.
  • Tweak the_company_logo() to check if logo is valid URL.
  • Replaced Genericons with custom set
  • Only show link to view job on dashboard when published


  • Fix wp-editor field
  • Fix editing job images


  • Changed get_the_time to get_post_time
  • Added textarea and wp-editor to form api
  • When using the job submit form, generate a more unqiue slug for the job - company-location-type-job-title
  • Ability to remove image from job submission form
  • Update icon font
  • Fix job_types filters
  • Field_select in admin
  • Fix access control on job editing
  • Job forms multiselect support


  • Ability to edit job expiration date manually via admin
  • Settings API: Password field
  • Frontend Forms: Password field
  • Correctly turn off expiration when 'days' is not set
  • Greek should be el_GR
  • Settings: Use key for tabs - fixes issues with locales
  • Show pending count in admin menu
  • Added job_types argument to jobs shortcode to show jobs of a certain type only
  • Hierarchical dropdown for categories on filter form
  • job_manager_job_submitted hook in submission form


  • Added pagination to the job dashboard to avoid memory issues
  • Schema.org markup for job listings
  • Greek translation by Ioannis Arsenis


  • Remove line breaks from markup to prevent theme issues


  • When using the [jobs] shortcode without filters, if jobs > per-page show the 'load more' link
  • Clearfix for meta div
  • Hooked up $size option for company logos
  • submit_job_form_save_job_data filter
  • Italian translation
  • Brazillian Portuguese translation
  • Respect other plugin columns in admin
  • Re-arranged admin columns to show less non-useful data


  • Support for featured job listings
  • Support for meta job duration
  • set_expirey when publishing jobs from admin manually
  • Update handler


  • Corrected form field label
  • Added french translation by Remi Corson


  • job_manager_get_dashboard_jobs_args filter
  • Better handling of submit job steps.
  • Option to store the slug of the submit job page - used by addons.
  • Use :input in JS to support multiple input types if customised.


  • Improved accuracy of job search
  • Fixed category filter dropdown in admin


  • Tweaked css clearfixes
  • Use built in antispambot for encoding email.
  • job_manager_job_filters_showing_jobs_links filter
  • IE8 Apply filters JS fix
  • Fix spanish locale
  • Fixed strict standards errors
  • Improve 2013 Styles
  • Addons page. Disabled usings add_filter( 'job_manager_show_addons_page', '__return_false' );


  • Added function to get listings by certain criteria.
  • Added ES translation.
  • Fix job feed when no args are present.


  • More hooks in the submit process.
  • Hide apply button if url/email is unset.


  • Some extra hooks in job-filters.php
  • Added a workaround for scripts which bork placeholders inside the job filters.


  • Action in update_job_data() to allow saving of extra fields.
  • Added German translation by Chris Penning


  • Slight tweak to listing field filters in admin.
  • 'attributes' argument for admin settings.


  • First stable release.

Requires: 4.1 or higher
Compatible up to: 4.4
Last Updated: 3 days ago
Active Installs: 50,000+


4.8 out of 5 stars


180 of 237 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

1 person says it works.
0 people say it's broken.

100,1,1 100,2,2
100,2,2 100,1,1 100,5,5 100,1,1
100,2,2 100,3,3 100,4,4
100,1,1 100,1,1
100,3,3 100,2,2 100,1,1
100,2,2 100,2,2 100,1,1
100,2,2 100,2,2 100,1,1 100,1,1 100,1,1
50,2,1 100,1,1
100,1,1 100,1,1
100,2,2 100,1,1 100,1,1