Big New Features:

Matador Jobs 3.4.0 is the biggest update to Matador yet. Its patch notes will be huge and confusing and incomplete. For this reason, please follow our blog and our help files to learn how to use the updated Matador! Here are the big deal updates:

  • We now support the Google Indexing API. This matters, because it allows your site to directly notify Google whenever a new job is added or a job is removed. This is a partial support for this feature, as we’d like to soon support updates to jobs in this notification as well. To turn on Google Indexing for your jobs, you will need to get a Google Indexing API keyfile. Look in Settings -> Job Listings (tab) -> Jobs Structured Data (section) for the new settings, and a link to our help website on how to get this.
  • Applications now can save the IP address of the applicant. Further, the IP as well as the date/time of the submission, can now be submitted to the candidate’s record in Bullhorn as part of the candidate save. This is useful to track the most recent acceptance of terms of service and privacy policies, for example, as well as provide data points for internal analytics. See the more detailed patch notes on how to use this.
  • Jobs now have a default “information” header, aka the “meta header” after the title and before the description. This will present (by default) the Job’s location, type of job (ie: contract, permanent), and the Bullhorn Job ID. This is easy to customize with a little code, but styles are only applied for default setting. Existing users will need to enable this feature by turning on a setting in their settings.
  • Jobs also now have a default set of navigation buttons at their end, after description. These are contextual, so will change based on your settings and depending on which page you’re on. These are added to all jobs by default, so check your site to see you like the styles.
  • A majority of the templates, template actions and hooks, and more have been simplified. Actions and hooks now have a second parameter called “context”, which can be used to limit their scope. Where in the past, for example, the “jobs listing” template had two actions for ‘before_jobs’, ‘matador_before_jobs’ and ‘matador_before_jobs_listing’,now it just has one ‘matador_before_jobs’ with the passed ‘context’ of ‘listing’. The action is the same for all templates, but it can be limited using the ‘context’ parameter. This will make customizing templates easier, but may cause issue with current custom templates and actions.
  • Many, many new template functions were added to the global namespace for theme developers to access, making the customization much easier!
  • New shortcut shortcodes `[matador_jobs_listing]`, `[matador_jobs_table]`, and `[matador_jobs_list]` to make it simpler to use them and provide more intuitive default settings.

Additional Features/Enhancements:

  • When redirected to a job page after a successful application where a confirmation is shown (as opposed to a Thank You page), the application form will no longer show, which helps avoid confusion for the user.
  • Applications now save the IP address of the computer that submitted the form.
  • The IP address of the computer that submitted the form can now be submitted to the corresponding new or existing candidate record following a Candidate Submit routine by Matador. IP addresses are saved to both a “on submit” and “on update” field, and to tell Matador which custom fields on the Candidate record to use, assign them with the matador_submit_candidate_ip_field_on_create and matador_submit_candidate_ip_field_on_update filters, introduced in this version. While we recommend you use these filters to prevent any issues caused by changing these values accidentally, a free Extension was created to make an admin setting for this also if you are unable or uncomfortable writing a filter.
  • If a site has the “Require Applicant to Agree to Privacy Policy” setting turned on, when Matador sends the application to Bullhorn, you can now designate a text or date custom field to save the date and time of that submission in order to track the initial and most recent acceptance of your Privacy Policy to their candidate record. Assign which fields to use with the matador_submit_candidate_privacy_policy_field_on_create and matador_submit_candidate_privacy_policy_field_on_update filters, introduced in this version. While we recommend you use these filters to prevent any issues caused by changing these values accidentally, a free Extension was created to make an admin setting for this also if you are unable or uncomfortable writing a filter. You may additionally customize the date format by using the matador_submit_candidate_privacy_policy_field_format, but this only applies when you are using a custom text, and not a custom date, type field.
  • Form validation error messages can now be customized by a developer new matador_application_validation_error_{$error} filter. See `includes/class-scripts.php` for a list of errors that can be filtered.
  • Option to modify the URL slug format of each job. Options are limited to three possibilities, but a filter was added to provide users methods to make more complex URL slugs. Paired with an additional field import, a user can even set the URL slug to be generated from a job custom field, among other things.
  • Previously, jobs without an end date in Bullhorn would result the in the ‘validThrough‘ field in the structured data–what Google for Jobs uses–to be blank. We found that this causes Google for Jobs to make that job a lower priority. Matador will now set a date one year from the ‘job posted’ for the ‘validThrough‘ field. Note that if your firm offers ongoing positions, it is important you set an impossibly long job end date in Bullhorn to make sure your job always has a ‘validThrough‘ date in the future.
  • Added $data parameter to the ‘matador_data_source_description’ filter. This allows developers to access the object and any custom fields to use to modify the source. This object is different in each context, so filter functions should check for context prior to assuming object structure.
  • Adds new field to job, called `job_general_location` which is customizable with the new `matador_import_job_general_location` filter. This is the field used by the default meta header.
  • When an Application is deleted, either manually or automatically, prior to its delete, associated files (resumes, etc) are now also deleted. This should free up storage space on your server and close a possible privacy or security risk should server settings allow those files be available to the internet.
  • Adds empty index.php files in Matador uploads folders to provide security for files when a server has Apache directory indexes turned on.
  • Adds new actions ‘matador_add_job’, ‘matador_update_job’, ‘matador_save_job’, ‘matador_transition_job’, and ‘matador_delete_job’ to give developers easier access to changes in job posts to hook into.


  • Fixed an issue where an appended Application Confirmation message would not show properly after a job application.
  • Fixed an issue where pagination was not presented for shortcode-based jobs lists.
  • Fixed an issue where an error was printed to screen, instead of logged to the logs, during a rare login-related issue with Bullhorn.
  • Disabled “toggle” type admin settings will now show styles that communicate its disabled status.
  • The deprecation notices were not showing properly for logged in users. They now will. Pay attention to them! Update you site accordingly.


  • Extended Localization options to all form validation error messages.


  • The pre-3.0.0 deprecated shortcodes will be removed from Matador in our next major version in January to March 2019. Please make sure you’ve fully migrated to the [matador_*] shortcodes.