Matador Jobs hotfix release 3.4.1

This release is a maintenance release to support final features included in WordPress 5.0, 5.0.1 and 5.0.2, as well as fixes bugs.

  • Adjusted a few calls where wp_kses_post() was used when it wasn’t necessary. Backward incompatible changes to WordPress 5.0.1 required this.
  • Added filters matador_application_note_line_label and matador_application_note_line_item to modify how “note” lines are saved in the application.
  • Moved JSON_LD injection from above the Job markup and into the <head>. May also have fixed some JSON LD reading/saving issues with Google.
  • Added setting to allow an adi to define a page (ideally using shortcodes) as the jobs home page. Note: you cannot set the “Home” page as the jobs home page at this time without a possible issue around search results.
  • Added tools to support handling issues some of our users were experiencing with enabling Google Indexing API.
  • Update “tested up to” to 5.0.2

Matador Jobs release 3.4.0

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.

Matador Jobs hotfix release 3.3.7

Today, Matador Jobs was updated to provide our users with a follow-up to last week’s critical update that addressed changes made at Bullhorn that caused Matador to not work as expected. This hotfix includes tools to support our users in ultimately recovering from the consequences of the bug.

  • Added a bulk Application Sync button to the applications view. Will re-try all failed applications from the issue addressed in 3.3.6 and any failed applications for the last two weeks.
  • Added a filter matador_application_batch_sync_allowed_statuses to allow you to extend the statuses included in a batch sync. This may come in handy in the future when we expand the statuses assigned to applications that fail.
  • Added a filter matador_application_batch_sync_duration to allow you to extend of duration applied in a batch sync. If, for example, you want to apply a batch sync to jobs older than two weeks, you can do this via this filter.
  • Fixed spelling/grammar error in the application processing overlay.
  • Added escaping functions to prevent errors encountered during an application sync when Matador checks for existing candidates. Candidates with names that included a single quotation mark/apostrophe caused the search to be badly formatted and thus present an error, which in turn caused the application sync to fail altogether.

Again, we know this issue caused many of you inconvenience. During Paul’s and my 4 years working with Bullhorn API’s, we’ve of course encountered times where a change at Bullhorn has interrupted our code. We’ve worked hard the last week since this bug was first reported to us to create a fix, first, and add tools to help you recover. We will continue to be focused on the stability of Matador our commitment to service to you, our users!

Matador Jobs hotfix release 3.3.6

Today, Matador Jobs was updated to provide our users with a critical update that addresses changes made at Bullhorn that caused Matador to not work as expected. We highly recommend you complete this update as soon as possible.

  • Enabled sync re-try for applications with the status of “Unable to sync”.
  • Updated messaging around reasons that an application sync may fail.
  • Updated the way a Bullhorn request was being made that was causing it to fail after the September 2018 Bullhorn ATS
    software upgrades.
  • We are observing an issue on some Bullhorn users’ accounts where a Bullhorn resume parse may return a badly structured
    candidate object that later results in a failure when Matador tries to create a candidate with that object. We have
    included a temporary work-around until we can help our partners at Bullhorn resolve this issue.
  • Fixed an issue where a “Re-try Sync” routine on an application would result in an HTTP 430 error under certain caching

In addition to completing this update, we highly recommend you review your applications in Matador Jobs Pro and, where a failure occurred due to this issue, you should click on “Re-try Sync”.

We know this will cause many of you inconvenience. During Paul’s and my 4 years working with Bullhorn API’s, we’ve of course encountered times where a change at Bullhorn has interrupted our code. We’ve worked hard the last two days since this was first reported to us to create a fix. Even if you didn’t notice the problem, know that we were here doing our best to fix it as quickly as possible for you!

Google for Jobs overview on Bullhorn’s Customer Blog

Have you heard about Google for Jobs?

Bullhorn have just published an article by Matador developer Jeremy Scott on how Google for Jobs optimization can increase search traffic to your jobs website.

Based on the experience of building Google for Jobs optimization into the Matador software, the article explains what Google for Jobs is, how it works and offers a high-level overview of how to optimize your company’s website.

Screenshot - article on Bullhorn Customer Blog
Read the full article on Bullhorn’s Customer Blog

We’ve put a lot of time into ensuring that Matador Jobs integrates really effectively with Google for Jobs search and we know it can make a huge difference.  We have one customer who reported a 75% increase in organic search traffic to her site in one month.

Please reach out to us for more information on how Matador Jobs can help you leverage the Bullhorn REST API and Google for Jobs on your site.

Matador Jobs maintenance release 3.3.5

Today, Matador Jobs was updated to provide our users with a few minor updates and minor bug fixes in lieu of a major release which is coming very soon. Lets dive in to see what this includes!

Unlike a hotfix release, this minor release, while addressing some bugs, does not fix any bugs we determined to be “major” or “breaking”. That said, if you’ve encountered these, you might like to know these are exterminated:

  • A bug that caused some users’ admin sites to timeout during a user-initiated job sync is now fixed. This bug was more of a source of confusion than something that broke a site, though rarely a large job sync could be restarted by a panicked admin and accidentally create two copies of a job.
  • Some issues with the Matador default CSS for Applications were addressed. Many users, when customizing their sites, just fixed these not thinking they were even a bug, but our goal is to have a seamless out-of-the-box experience, and these display errors were getting in the way of that.
  • Some of our Lite users encountered an issue with the “Apply” button not linking properly to their application page. This is now fixed.

In addition to those bug fixes, we added some useful new features:

  • You can now filter the job title and description before its saved to the database using the matador_import_job_title and matador_import_job_description filters. This is helpful especially for appending or prepending data, adding images, etc.
  • You can now tell Matador to use a custom Bullhorn field for the job title or job description using the matador_import_job_title_field and matador_import_job_description_field filters. If your company chooses to use a custom text field for a “marketing job title” and use the job order title in a descriptive way, then you can do now do that.
  • Allowed HTML tags for a job are now expanded. Specifically, <video> and <img> tags are now allowed for import. For reference, when Matador imports a job description, that HTML is validated for your sites’ protection. In the past, the validation and sanitization was a little more restrictive by not allowing some HTML tags that we now flagged as “safe”.
  • Finally, we updated a UI element in Matador settings. It now looks like a toggle switch as opposed to an on or off checkbox. We hope this helps our users more clearly understand the impact of certain settings choices.

As I mentioned, we are continuing work on our next major release, which should continue to improve our interactions with Google for Jobs and improve our shortcode output. This update, we anticipate, in the next 3-5 weeks.

Matador Jobs Pro users can update their sites by going to WP Admin > Plugins starting now. Matador Jobs Lite users may need to wait a day or so while we push our updates to

Matador Jobs hotfix release 3.3.4

Today, Matador Jobs was updated to address a few minor and two major issues discovered during our customers’ use of Matador Jobs and its extensions. This hotfix release addresses only those issues while we continue work on the next major release of Matador.

This past week, Matador users helped us discover two issues that we determined require another hotfix release of Matador. To ensure your Matador-powered sites continue to run as smoothly as possible, we recommend our users log into their site and use the WordPress plugins page to update their version of Matador. Here is what’s inside:

First up, we addressed a bug that we believe is actually one we traced back to Bullhorn itself. While we wait for Bullhorn to fix the bug, we modified how Matador handles it. This bug is caused when certain candidate’s resumes are formatted in a way that causes Bullhorn’s resume parser, which Matador uses, to return a bad candidate object. Matador will now fail more gracefully when it encounters that issue. A future version of Matador will email the recruiter when a candidate cannot be synced due to this issue or one like it.

Second, we found an issue around 3.3.0’s new Anti-Spam Honeypot feature. It was using a function name that was protected by an earlier version of PHP (or that PHP says, you can’t name your function that!), and our development tools didn’t point it out to us. If your specific setup was affected by this, we are sincerely sorry! We renamed the function something else, fixing the error.

We also included updates that addressed six other minor issues that we had completed updates on. There were also some updates to the filters around the applicant and recruiter confirmation emails. 

Matador Jobs hotfix release 3.3.3

Today, a minor release for the Matador Jobs Pro and Matador Jobs Lite was released to fix an issue discovered this week, plus one more fix present since 3.1.0. This is a fully backward-compatible release and is a recommended update for all users.

What’s Inside

Matador 3.3.0 released necessary changes and enhancements to functionality around the matador_taxonomy() function and [matador_taxonomy] shortcode. One such adjustment made it more likely a site would continue working if javascript was disabled by users, but in this change, when a site operator had set up their site just right, there was a bug that caused some site operators’ sites to return no jobs in search results when their users submitted searches that did indeed match jobs. This hotfix release returns behavior to normal for those sites and any in the future who set up their search in that way.

The other bugfix included 3.3.3 addresses an issue discovered following release 3.1.0 where the “Sync Now” button that shows on the jobs page in the admin section would not show up if there were no jobs in the database. This is of course counter-productive, as the point of that button is to get jobs added to Matador! The button now properly appears on the page at all times.

You can update to Matador Jobs Pro 3.3.3 from the WordPress plugins page or by clicking on “Account” in the main menu and downloading it from your user page. Users of Matador Jobs Lite can update from the WordPress plugins page after our update applies on

reCAPTCHA by Google hotfix 1.0.1

Today, a minor release for the Matador Jobs Pro reCAPTCHA by Google extension was released to fix an issue discovered following its release.

We determined that the reCAPTCHA form element would load even if reCAPTCHA was disabled either programmatically or manually by the site operator. When displayed in this state, the reCAPTCHA field would not be validated, so this wasn’t a bug that interrupted users from submitting applications.

Site operators with Matador Jobs Pro will be presented with an upgrade notice and those with a valid Matador Jobs All-Access license will be able to download the update automatically from your WordPress Admin Plugins page. You may also download the most recent update from the extensions page (requires a login to access downloads).

Matador Jobs 3.3.1 and reCAPTCHA by Google Extension

The Matador team is working hard, and just two weeks since our previous major release (which itself was only two weeks from its predecessor), we are proud to bring you the release of Matador Jobs 3.3.1 and announce the release of our newest All-Access Add-On: reCAPTCHA by Google.

I’m going to try to simplify our release announcements for our general audience and leave the more technical details for you to catch in the changelog from here out. These release posts will highlight important new features or bug fixes but try to keep more minor and especially developer-focused changes in the background. So, lets dive in!

Matador Jobs 3.3.1

3.3.1’s new features are centered around two key areas of Matador: the application and the shortcodes. One is a core feature of Matador, the other how you make Matador look right for your company and brand.

Around the Application, we first added an Anti-Spam technique referred to as a “honeypot”. This technique greatly reduces, but does not eliminate, spam while avoiding the use of CAPTCHAs that can be tough on users with poor sight. Second, to greatly reduce duplicate submissions, we added a behavior that disables duplicate submissions altogether while also adding a visual “processing” cue for the user to let them know what is going on.

Our [matador_taxonomy] shortcode and its shortcuts including [matador_categories], etc, now accept new parameters to modify the sorting of the taxonomy’s terms (aka categories) and an option to show taxonomies that have no jobs in them (we hide empty taxonomies by default). The [matador_search] taxonomy also got an optional reset button, which can be added to the search form by including ‘reset’ in the ‘fields’ parameter. 

3.3.1 includes 6 bugfixes including one that fixes the bug that cause all job application confirmations to be also sent to the site administrator email. 3.3.1 includes 1 UI and 1 Accessibility related changes, as well 11 ‘developer’ changes that update templates, filters, and actions to make it easier to customize Matador for your site.

Edit to original post: Following the release of 3.3.1, an issue was encountered when preparing our release of Matador Jobs Lite for’s Plugin Repository. Also, we identified one additional issue that shipped with the release. These two items were addressed and included in hotfix 3.3.2 less than 18 hours after the initial release of 3.3.1.

We are still hard at work at fixing our known issues we discussed in the 3.2.0 release, but unfortunately are unable to address those with this release. We have some solutions in the works, but as they represent major changes in behavior, we are being extra careful to not rush their release. We also received a bug report the day before this release that demonstrated conditions that may cause pagination to not work when using the shortcode instead of a Post Type Archive template. Our goal is fix all of these issues in the next few weeks.

All changes in this release are described in full detail in the changelog section of the Matador readme.txt. I will not be including full changelogs in release announcements moving forward.

reCAPTCHA by Google Extension

Form security is a big deal for many site operators. While I personally prefer a more friendly user experience without a form CAPTCHA, Paul feels they work too good and has them installed all over this site.

It is my hope that anti-spam measures in 3.3.1 will be perfect for many of our users, but sometimes that extra layer of security is preferred. So if the Anti-Spam behaviors added in 3.3.1 aren’t enough for you or if you want even more security, we are excited to announce the new Matador Jobs Pro Extension: reCAPTCHA by Google.

A Matador-powered application with reCAPTCHA

Its works pretty simply… right before the end of your form is a reCAPTCHA by Google box, and users are prompted to click “I’m not a robot”. Then some magic juice runs to make sure the user isn’t a robot, and a checkbox appears.

For more about this Extension and, if you’re an All-Access subscriber, download it for your site, visit the Extension’s page.