Template overrides

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.

Within the plugin folder there is a ‘templates’ directory where frontend views are stored. This includes, for example, the job form and form fields. These templates get loaded by WP Job Manager when it needs to display content:

  • account-signin.php
  • job-application.php
  • content-job_listing.php
  • content-no-jobs-found.php
  • content-single-job_listing.php
  • content-single-job_listing-company.php
  • content-single-job_listing-meta.php
  • content-summary-job_listing.php
  • content-widget-job_listing.php
  • content-widget-no-jobs-found.php
  • job-application-email.php
  • job-application-url.php
  • job-dashboard.php
  • job-dashboard-login.php
  • job-filters.php
  • job-filter-job-types.php
  • job-listings-end.php
  • job-listings-start.php
  • job-pagination.php
  • job-preview.php
  • job-submit.php
  • job-submitted.php
  • pagination.php

In the Form Fields subdirectory (../templates/form-fields), the templates are:

  • checkbox-field.php
  • date-field.php
  • file-field.php
  • multiselect-field.php
  • term-checklist-field.php
  • password-field.php
  • radio-field.php
  • recaptcha-field.php
  • select-field.php
  • term-multiselect-field.php
  • term-select-field.php
  • text-field.php
  • textarea-field.php
  • uploaded-file-html.php
  • wp-editor-field.php

In the Emails subdirectory (../templates/emails), the templates are:

  • admin-expiring-job.php
  • admin-new-job.php
  • admin-updated-job.php
  • employer-expiring-job.php
  • email-footer.php plain
  • email-header.php
  • email-job-details.php
  • email-styles.php

Overriding templates via a theme

Template files can be overridden via your theme should you wish to customise them. To override a template, move it to yourtheme/job_manager/, keeping the path within ‘templates’ intact.

Template override example

For example, if I wanted to override `job_filters.php`I would copy it to mytheme/job_manager/job-filters.php and edit my theme’s version.

Please note, if these files are updated in the core plugin, you may need to update your custom version in the future to maintain compatibility. Therefore it is advised to only override the template files you need to customise.

Overriding templates through code

Plugin developers can also override templates by filtering the ‘job_manager_locate_template’ filter.

return apply_filters( 'job_manager_locate_template', $template, $template_name, $template_path );

Returning your own template path will override all others.

To override the template files of our various add-ons, see this document.

FAQ

How to customize the way job listings look?

You can override appropriate templates for job listings relevant to your needs.

For example, you can edit templates/content-single-job_listing.php to customize the single job page shown when a user visits the permalink of the job. To customize each job in the list of jobs, e.g., when a user visits the public /jobs page, you can edit templates/content-job_listing.php.

Themes Documentation