Author Archive

Adding Jobs via Admin

Adding Jobs via Admin

Warning! Adding/editing jobs via the backend, wp-admin dashboard is not recommended. This is because several verification steps are not taken when adding a job this way. WP Job Manager is designed in such a way that all jobs should be submitted via the frontend job submission form.

The Add New link, under the Job Listings menu item in admin, will show the Add Job Listing page.

Enter the job title and description

First fill out the “job position title” field at the top with the name of the job you are listing. This is the post title.

Next, beneath that you’ll see a visual editor which you can add the job description in. This is the post content.

Set job meta data

Next, look at the job listing data panel below. This is where you enter job and company details for the listing.

The fields include:

  • Job Location – Enter the location of the Job being as detailed as you wish. Leave blank if the job is a telecommuting position.
  • Application email/URL – You may enter a URL if the job can be applied for via a website, or enter an email address for applicants to send their application to.
  • Company name
  • Company website
  • Company tagline – Tagline should be a short description of the company.
  • Company Twitter – Twitter name, e.g. @company
  • Company Logo – Upload a logo, or enter the logo’s URL here.
  • Position Filled – check the checkbox if the job is filled/not accepting any more applicants
  • Feature this job listing – check this checkbox to feature the job.
  • Job expires – The expiry date for this job in yyyy-mm-dd format.

Set category and job type

In the sidebar you will see two taxonomies; job categories and job types. Select one job type, and as many categories as you wish.

Publish your listing

When you are done, hit publish to make the Job Listing live.

Approve listings under moderation

When the option “Moderate New Listings” is enabled, you should use the button “Approve” instead of using the button Publish.

Email Notifications

Email Notifications

WP Job Manager Email Notifications are managed via Job Listings > Settings > Email Notifications

By default, an email will be sent to the site administrator when a job listing is submitted or updated via the front end (adding/updating jobs via the back end is not recommended).

From the Email Notification settings you are able to change the recipient for the emails and set the email format to either plain text or rich text. You can also disable them by unchecking the box next to each email notification.

The email notification settings for Expiring Job Notices also have the option to specify the number of days before expiry that the emails should be sent.

Third-Party Plugins and Advanced Customization

For more complex email solutions, you will need to use a third-party plugin. Here are a few recommendations:

  • The WP Job Manager Emails plugin provides native support and includes email templates
  • The Post Status Notifier sets up notifications when the status of a job listing changes
  • Or, if you feel comfortable with editing code, you can add custom code to send notification emails

Our add-ons may also send notifications:

  • Applications send a confirmation email to both employers and candidates
  • Job Alerts sends emails to candidates
  • Resume Manager will email new resume submissions to the administrator if enabled
  • WC Paid Listings does not send emails; WooCommerce does depending on your settings

Email Templates

Template files handle WP Job Manager email notifications. You can override the email templates by copying them to your theme and making edits there, for example: Copy from wp-job-manager/templates/emails/employer-expiring-job.php to yourtheme/job_manager/emails/employer-expiring-job.php

Troubleshooting

Emails are not sent

WP Job Manager uses the wp_mail() function – a core WordPress function – to send emails. If emails aren’t being sent/received, the issue relates to your web host’s core email function, not WP Job Manager.

With Resume add-on, Application Email notifications are not sent

If you have both Applications and Resume add-ons and force applicants to apply with a resume, applications process through Resume Manager, not Applications. Configure candidates to apply with the Applications form by disabling the Force Apply with Resume option under Resumes > Settings > Apply With Resume.

GDPR Compliance

GDPR Compliance

WP Job Manager’s parent company, Automattic, is committed to GDPR compliance. For the most current information about Automattic and GDPR, visit their official support page.

WP Job Manager includes a “Delete Data on Uninstall” setting located under Job Listings > Settings > General that allows for data removal when the plugin is uninstalled.

About Individual Deletion or Extraction

It is important to note that WP Job Manager and its add-ons do not offer individual user data deletion or extraction features directly.

WordPress core manages user records. For information about WordPress and GDPR compliance tools, refer to:

  • GDPR Compliance Tools in WordPress
  • Roadmap: Tools for GDPR Compliance

Third-party plugins may be available to accomplish user deletion and data deletion if needed.

The “Delete Data on Uninstall” option removes employer and candidate roles but does not delete user accounts. User data for Resume Manager and Applications is stored in wp_posts and wp_postmeta tables. Removing file uploads first is recommended before deleting resume and application data to avoid complications.

What Data Does WP Job Manager Track?

Overview

For users who opt-in to usage tracking in WP Job Manager, certain information about your site’s content and settings will be tracked and stored. This enables better feature development decisions and targeted messaging.

WP Job Manager Info and System Info tracking data is sent automatically once opted in, then once every 2 weeks. Event tracking is sent as events occur. Data handling follows Automattic’s Privacy Policy.

WP Job Manager Info

Tracked metrics include:

  • Total number of users with WP Job Manager-specific roles (e.g., employers)
  • Custom post type counts by status (e.g., job listings, company video fields)
  • Taxonomy counts (e.g., job types, descriptions)
  • Jobs by default type
  • Shortcode attribute usage
  • All WP Job Manager settings values
  • User interactions within the WordPress admin for WP Job Manager content

System Info

Tracked system data includes:

  • Site URL and admin email
  • Activated plugins and versions
  • Active theme and version
  • WordPress and PHP versions
  • Locale/language and multisite status

Events

  • Job listing submissions (source only: admin or frontend form)
  • Extension license activation/deactivation and errors

Jobs not expiring

Jobs not expiring

WP Job Manager uses the WordPress Cron system to check hourly for jobs (or resumes, with the Resume Manager addon) that have reached their expiry date, and change their status to ‘Expired’.

If your job listings are not expiring when they should be, it’s likely due to an issue with the Cron system. WordPress uses cron to keep track of scheduled events.

To troubleshoot, go through the following steps:

  1. Check your wp-config.php file and make sure it doesn’t contain the following code anywhere: define('DISABLE_WP_CRON', true); If it does, change ‘true’ to ‘false’.
  2. Install the WP Crontrol plugin, then go to Settings > Cron Schedules. This lists all scheduled events on your site.
  3. Check for any general error messages at the top of the page. If you see an error message telling you that Cron is not working properly, you’ll need to contact your hosting provider for help resolving that.
  4. If there are no errors, check for any ‘stuck’ Cron Events. These can be found under Cron Events tab at the top of the page. Stuck events are where the ‘Next Run’ interval is greater than the ‘Recurrence’ value. If you find any, try to delete them and then click ‘Run Now’ on the job_manager_check_for_expired_jobs event to see if that helps.
  5. Other cron events may be listed which are tied to other plugins or WordPress itself. If you have the Resume Manager addon, you may also want to check the event resume_manager_check_for_expired_resumes.

If none of that resolves the issue, please contact support for further assistance.

Promoted Jobs

Overview

With the Promoted Jobs feature, it is easy to increase job visibility and get more qualified applicants by sharing it on multiple external job boards through our partner JobTarget. JobTarget integrates with over 25,000 unique job boards – from the big players like LinkedIn and Indeed, to the local and super-niche sites related to your industry.

How to Promote a Job

The promoted jobs feature is part of the free core WP Job Manager plugin.

To promote a job, go to Dashboard > Job Listings > All Jobs, then click on the Promote button in the list of published jobs.

You will be redirected to the wpjobmanager.com site, where you will see additional fields to complete.

When promoting your first job, you must register on the site so that JobTarget can contact you when needed.

Important! Ensure your email is correct! Your email address will be your JobTarget ID, so it can’t be changed once added to the system.

After going through these steps for the first time, your site information will be saved, and you don’t need to do that when promoting future jobs. Click on Edit if you need to change any details.

After adding the site information, you can fill in additional job details. The more information you add, the better results you are likely to see from the promotion.

You can also provide a Contact Email specific to this job to receive applications from candidates and for job seekers to contact you for information about the job.

After submitting the form, you will be redirected to JobTarget.com, where you can choose the best promotion options.

How to manage or deactivate a promoted job

When you edit a job title, description, or link in your WP Job Manager site, these fields will automatically sync with the external job boards.

The additional details can be edited by going to Dashboard > Job Listings > All Jobs and clicking on Manage in the “Promote” column.

Along with the “Manage” link, you will find a “Deactivate” link that you can use to deactivate your promotion once a job has been filled.

Important! Deactivating an ongoing promotion is an action you can’t undo. To re-promote a deactivated campaign, you must purchase a package again.

Job Tags

Overview

Using the Job Tags plugin you can add a new ‘job tags’ field to the submit process, show jobs filtered by tag via shortcodes, and add tag filtering to the standard jobs shortcode.

Installation

To install this plugin, please refer to the guide here: https://wordpress.org/support/article/managing-plugins/#installing-plugins

Setup

After installation, head over to Job Listings > Settings to configure the plugin.

  • Job Listings > Enable Tag Archives – Enabling tag archives will make job tags link through to an archive of all jobs with said tag.
  • Job Submission > Maximum Job Tags – Enter a number to limit the amount of tags users can define when submitting a job.
  • Job Submission > Tag Input – Choose from Text Box, Multiselect, or Checkboxes for tag input method.

Modifications to the Job Submission Flow

This plugin adds a ‘Job Tags’ field to the Job Submission Process. Tags of 3 characters or fewer are forced to uppercase as abbreviations. Other tags become lowercase to prevent duplicates.

Tag Display

Job tags appear after the job description and are only linked if tag archives are enabled.

Tag Filters

The standard [jobs] shortcode is automatically enhanced with a tag filter section when at least one tag is assigned to a listing. Disable this by adding ‘show_tags=false’ to the shortcode.

The Tag Cloud Shortcode

Use the [job_tag_cloud] shortcode to display job tags. Tags are only linked when tag archives are enabled. Example: [job_tag_cloud orderby="count" number="10"]

The Jobs by Tag Shortcode

The [jobs_by_tag] shortcode outputs jobs matching specific tags. Accepts parameters like per_page, orderby, order, tag, and tags. Examples: [jobs_by_tag per_page="10" tag="your-tag"] or [jobs_by_tag per_page="10" tags="tag-1,tag-2"]

Editing User-Submitted Tags on an Existing Job

A known issue exists where the Job Tags block doesn’t display properly in the WordPress block editor. The workaround is to install the Classic Editor plugin to revert to the legacy editor.

Customising the application process

Customising the application process

Note: Code examples provided are for developer reference only. Support does not include assistance with modifying code, and examples may change if they no longer work.

WP Job Manager allows users to apply to jobs via email link or URL. This can be customized through template files and plugins.

Controlling which application method is allowed

Navigate to Job Listings > Settings > Job Submission to find the “Application method” setting. Options include:

  • Email addresses only
  • Website URLs only
  • Email addresses or Website URLs

The selection determines whether the “Apply for job” section displays a mailto link or website link.

Customising the job application templates

Three template files handle application methods:

  1. job-application.php – Outputs toggle button and fires function based on method
  2. job-application-url.php – Outputs application URL text
  3. job-application-email.php – Outputs email links and text

These can be modified via theme template overrides.

Using the Job Applications add-on

The Job Applications add-on provides form-based application methods and management features. Learn more at the official add-ons page.

Making the application button link directly to the website

Override job-application.php to make buttons link directly to URLs instead of opening an application box.

Deleting old expired jobs

Note: All code examples on this site are provided for developer reference/guidance only and we cannot guarantee that they will always work as expected. Our support policy does not include assistance with modifying or debugging code from any code examples, and they may be changed or removed if we find they no longer work due to changes in our plugins.

Note: this snippet works by moving expired jobs to the trash. Once in the trash, WordPress takes over, and deletes trash by default after 30 days. This snippet does not automatically, upon expiration, delete expired jobs.

Unlike old ‘previews’, expired jobs are not deleted by default. But you can enable this functionality using a quick snippet in your theme’s functions.php file (or using a functionality plugin):

// This will make sure expired jobs are deleted after XX days
add_filter( 'job_manager_delete_expired_jobs', '__return_true' );

// The default is 30 days, but you can change this with the following
add_filter( 'job_manager_delete_expired_jobs_days', 'change_job_manager_delete_expired_jobs_days' );

function change_job_manager_delete_expired_jobs_days() {
   return 30; // change this to the number of days you desired
}

If enabled, expired job listings will be deleted after job_manager_delete_expired_jobs_days days which defaults to 30. Cleanup will be done daily via a cron job.

Customize allowed file upload types

Customize allowed file upload types

Note: All code examples on this site are provided for developer reference/guidance only and we cannot guarantee that they will always work as expected. Our support policy does not include assistance with modifying or debugging code from any code examples, and they may be changed or removed if we find they no longer work due to changes in our plugins.

By default, WP Job Manager only accepts the following file types in the file upload field:

  • ‘jpg|jpeg|jpe’ => ‘image/jpeg’
  • ‘gif’ => ‘image/gif’
  • ‘png’ => ‘image/png’
  • ‘pdf’ => ‘application/pdf’
  • ‘doc’ => ‘application/msword’
  • ‘docx’ => ‘application/vnd.openxmlformats-officedocument.wordprocessingml.document’

Company logo:

  • ‘jpg|jpeg|jpe’ => ‘image/jpeg’
  • ‘gif’ => ‘image/gif’
  • ‘png’ => ‘image/png’

To customize it, use the following snippet (added support for MP4 in the example):

function filter_allowed_mime_types( $allowed_mime_types, $field ) {
	if ( 'company_logo' === $field ) {
		$allowed_mime_types = [
			'jpg|jpeg|jpe' => 'image/jpeg',
			'gif'          => 'image/gif',
			'png'          => 'image/png',
		];
	} else {
		$allowed_mime_types = [
			'jpg|jpeg|jpe' => 'image/jpeg',
			'gif'          => 'image/gif',
			'png'          => 'image/png',
			'pdf'          => 'application/pdf',
			'doc'          => 'application/msword',
			'docx'         => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
			'mp4'          => 'video/mp4',
		];
	}
	return $allowed_mime_types;
}

add_filter( 'job_manager_mime_types', 'filter_allowed_mime_types', 10, 2 );