Matador Jobs 3.5.4 Release

Tomorrow, following final feedback from a handful of our customers, we are releasing Matador Jobs 3.5.4. It contains a handful of changes, including two security updates and a handful of bugfixes that improve the stability of Matador.

Edit Friday, December 13, 2019 16:30: During final testing and feedback, we discovered continued issues around one of the bug fixes included in this release. This feedback was able to, we believe, finally quash this bug. That said, since everyone is going home for the weekend, we will be delaying distribution of this update until Wednesday, December 18th.

Security Fixes:

Security is important to us at Matador Software. While no code written is perfectly secure, we do our very best to follow best practices related to security and always research and question major decisions we make. We’ve also had our code reviewed by many developers who give us feedback and generally agree: Matador was made with security in mind. That said, we do find opportunities for improvement, and this hotfix release contains two security updates we feel will make your site safer:

“Message to Recruiters” No Longer Accepts HTML

We always envisioned the “Message to Recruiters” optional application field to be used also by businesses seeking to allow copy/paste HTML or Text resumes. That said, we’ve actually never seen anyone deploy Matador in this way.

For that reason, the data was filtered and sanitized (programmer speak for “made safe”) using fewer rules than other fields. While we filtered out potentially dangerous HTML and Javascript code, most HTML could be passed into your emails and Bullhorn. This was, I repeat, by design.

A client reported a spam application submission where the spammer was able to use HTML to mask a dangerous URL as a clickable section of text that did not appear to be a link (text was black and not underlined). The client did not click the link, but we agreed with them: that is not okay.

For your safety and security, the “Message to Recruiters” field will now remove all HTML. If you want or need a field where a user can submit HTML, eg: an HTML resume and/or code answer, let us know and we can help you create a custom field with that functionality.

Search Terms Sanitization Hardened

The search form submissions use HTTP GET requests, which appends search parameters to the URL. This is so you and your users can share specific searches with others. When investigating an issue a client was experiencing that ultimately was unrelated to Matador, we did find an a place where we felt we could improve the security of this functionality. We believe that there was not technically an exploitable opportunity for hackers, but we’d rather add an extra layer of safety where it seems prudent, and did just that.

Bugs Squashed:

In addition to those two important security changes, we also included 6 bugfixes in this release:

  • Fixed an issue where if an applicant put more than one space in their name, their application could fail in two ways, first in preventing a duplicate, and second in saving altogether. Protections were put in place to remove unnecessary spaces prior to processing a compound name.
  • Fixed an issue where a parsed resume might contain an empty “skills” object, which was causing some aspects of the Matador application processing to fail. We added protections to prevent failure and handle the empty skills object gracefully.
  • Fixed an issue causing Application Syncs to continue syncing to Bullhorn even when the setting was set to “off.” Oops! Fixed!
  • Fixed an issue where security escaping for the search form shortcode was too strong and disrupted the expected output. We were escaping output three times, and one of those escaping procedures was breaking the search form when a certain combination of options were selected. (See, sometimes we’re so security conscious we break things in the name of safety!)
  • Users of our WP Job Manager add-on will note that we removed options related to JSON+LD because WP Job Manager handles it separately. The settings could be set, but were ignored, so to prevent confusion, they were removed.
  • Users of our WP Job Manager add-on will also note new settings related candidate and recruiter email notifications were added. These options existed in Matador but were not being offered to WPJM users due to a bug.

Other Notable Changes:

  • Two new filters were added to allow for more granular handing of job data on a sync. One filter, related to the same behaviors, recently added in 3.5.0, was also deprecated and replaced with a more descriptively named filter. This replacement, however, inverted the boolean. The old version’s default was a false, while the new version is a true. Deprecation handling was added so if you were using it, there is no need for a change to your code any time soon.
  • The connection assistant offered an option to use the WEST USA 50 cluster. Unlike every other API datacenter, which even if not associated with your account, could be logged into and otherwise work as expected, WEST USA 50 could not be logged into. We theorize it is because you must be on WEST USA 50 to log in. We’ve temporarily disabled this option until a user associated with WEST USA 50 can help us test the option.
  • We improved descriptions of the setting on the options page related to when applications are processed.
  • We improved documentation in the template-functions.php file, which is a go-to file for developers implementing Matador. It is our most documented file, and we are constantly working to improve it so your developers are able to easily implement Matador.

Matador Jobs 3.5.3 Release

Today we are releasing Matador Jobs release 3.5.3. It contains a handful of bugfixes and internationalization changes to improve your Matador-powered website.

New “Feature”

While we follow semantic versioning, in a round-about-way, this release contains a new, backward compatible feature.

In version 3.4.0, we included a chunk of code designed to support more and more customizable form fields using our Advanced Applications extension, specifically form fields that in Bullhorn represent “to many” data types, like Candidate Categories or Skills.

Up to that point, no one was using it, so we didn’t have any real-world test cases for it, so we reserved our announcement until that happened. Since the 3.4.0 release, we had an opportunity with two clients to test it and they found a few bugs that were fixed in this release.

With those bug fixes, we can feel more confident in supporting a wider group of users, so we are making known the feature is now in “beta”. Like I said, its new a “round-about way”; its a feature that was technically already in the code, needed some bug fixes, and now is widely known.

If you are an All-Access subscriber and want help adding questions like “what of our business sectors would you categorize yourself into”, reach out to us.

Bugs Squashed:

  • We added error handling for the event where a candidate with “Private” status could not be modified by Matador. It still can’t, but now the candidate sync won’t fail. Let us know if you use Private status on candidates, and we’ll help you work with Bullhorn to enable API-management of private candidates.
  • When the Matador Application is generated dynamically, like by Javascript, there was an error that could be caused by passing the Bullhorn Job ID but not the WordPress Job ID. Now either one or both will work.
  • We found and fixed an error related to recruiter notification emails, where the email would fail to send if certain settings combination were right.
  • We were notified on an error by Eric C of Visual Notion where multiple taxonomy terms, comma separated passed into the shortcode would not show jobs from all categories even though the same behavior worked when passed into a search form or via URL. We fixed that. Thanks Eric!

Other Notable Changes:

  • We made a number of updates related Internationalization. Specifically we fixed issues causing four text strings to be not translatable and updated several translations in our Dutch language pack based on feedback from our users.

Matador Jobs 3.5.2 Release

Friday, we released Matador Jobs 3.5.2, a second patch release to the 3.5.x version of Matador that addresses a few issues found since 3.5.0’s or 3.5.1’s release.

Bugs Squashed:

  • We fixed an issue where a conflict could be created between our implementation of the open-source jQuery.validate() JavaScript library, which we provide for the purpose of form validation, and other plugin or theme use of the tool. When this was present, no forms would get validated, failing to notify the applicant when insufficient data is provided.
  • As part of this, we fixed a security issue where, either by disabling Javascript, failing to load the validation code, or maliciously manipulating form data, a user could bypass the required acceptance of the privacy policy fields.
  • We fixed an issue where an invalid email address submitted to the form would be properly rejected by Matador for security reasons but the user would not be notified.
  • We fixed an issue where multiple “admin notices” would stack, causing an overwhelming list of notices when logging in.
  • We fixed a bug where, during a specific combination of arguments, the Matador Jobs shortcode could fail due our handling of the many different ways the single shortcode is designed to work.

Other Notable Changes:

  • We changed a behavior associated with how Matador notifies you of failed communications with Bullhorn. Previously, our intent was to have every communication failure present an “admin notice” to a logged in WordPress administrator. This meant a warning, “your Matador Jobs is disconnected from Bullhorn” would be displayed. This error persisted even after our build-in connection recovery tool successfully re-established connection. With this release, if the connection recovery tool recovers the connection, the admin notice will be removed.
  • Fixed a spelling error in the default label for an uncommonly used application form field.

Matador Jobs 3.5.1 Release

Friday we released Matador Jobs 3.5.1, a patch/hotfix release to address a few issues found since 3.5.0’s release last week (or before) and add a new filter hook for increased customizability of Matador for our users.

New Features:

The sole new feature of this release was the addition of the new filter hook matador_data_source_status. This filter extends to the user the ability to change the status of the Candidate or the Job Submission created in Bullhorn from the default of either “New Lead” or “Submission” to any other value. Its second argument is $entity, and can be used to fine-tune your customization to either the candidate or submission objects.

Bugs Squashed:

  • We fixed an issue where, in certain versions of PHP, a namespacing error was causing an error message during job submission. Many of our users say multiple duplicate submissions, and this error may have caused user behavior to re-try.
  • We fixed an issue where the Candidate Traffic Source Tracking tool, which was extended for use with the Leads and Referrals All-Access Extension, was not properly referenced when creating new Leads objects.
  • We fixed an issue, introduced at the release of Matador Jobs 3.1.0 but only reported to us this week, where a recruiter email notification could fail when the WPJM Integration All-Access Extension is in use.
  • We fixed an issue, also created at Matador Jobs 3.0.0 release, where both the wrapper <div> and <form> element of the search form shared the same class name. We renamed the class for the containing <div>. This was a difficult bug fix to approach, because any of three logical approaches to fix it were all backward-incompatible. We encourage our users, upon upgrading to 3.5.1, to check the visual presentation of their search form, and if you notice a change, your CSS may need a simple change. If you need help, please let us know.

Matador Jobs 3.5.0 Release: Introducing Source Tracking

Matador Jobs 3.5.0 is the second major release of Matador Jobs in 2019, and our fifth overall major release since our launch in January 2018. We’ve had various pre-release versions out for testing for months, and we finally believe its ready for everyone! Let us introduce you to some of the highlights of this long-awaited release.

New Features

We consider a feature to be a change that adds usefulness to Matador for its users. Some features are simply new filters or actions most won’t use, while others are completely new tools everyone will find value in. 3.5.0 includes a lot of both!

Candidate Traffic Source Tracking

The biggest addition to Matador Jobs 3.5.0 is what we call “Candidate Traffic Source Tracking.” This new tool will attempt to determine where a visitor to your website originated, and pass useful data about that visit along to their Candidate and Job Submission or Web Response records in Bullhorn, allowing you, the site operator, to better understand where your traffic originates from.

Any website operator should monitor traffic sources, including and especially when you are pushing advertising onto your website. Generally, it is recommended you use Google Analytics or other traffic monitoring tools to do this. But even more important is knowing how to derive useful data from reports generated by those tools, and that is not easy.

Matador’s “Candidate Traffic Source Tracking” does not replace those tools, but it does provide an additional layer of tracking for your traffic that, unlike Google Analytics or similar tools, can actually communicate its findings into Bullhorn data.

Let’s say you are purchasing pay-per-click ads from an advertiser. They’ll have you install a “pixel” to your site so that they can follow traffic they initiate back to your site, but once that traffic is on your site, then what? An important step to purchasing ads is ensuring that once your paid traffic gets to your site, you get the desired result. This might be a sale, a newsletter sign up, etc. For a person driving ads to Matador-powered job listings, your desired result is a job application. Now, with the right setup, when you see a new candidate, job submission, or web response from a submission on your website, you will also be able to review the “Source” field on that record and know if that user found you because of that ad, your Google for Jobs listing, or something else.

There is a lot more to this, so check out our new help doc for Using Candidate Traffic Source Tracking.

Other New Features

While the “Candidate Traffic Source Tracking” is huge, we didn’t stop there. Here are some other changes that will power up Matador for you and your site:

  • A new setting lets you choose how the Job Category taxonomy is populated. Now you can populate from either the original “categories” value, or Bullhorn’s new “published category” value. This is especially helpful for newer Bullhorn customers who are using new workflows.
  • The Job Location taxonomy can now accept the value of “Job General Location”. This allows you to create taxonomy terms like “Phoenix, AZ” where in the past you could only create “Phoenix” or “Arizona”.
  • The Hiring Client Corporation name is now saved into job data, should you wish to create queries based on the hiring company or display the name of the company you’re hiring for. This is not displayed to the customer unless exposed by your developer.
  • Application processing now checks if a submitted resume is under 1mb (1024kb) and does an additional server-side check that the resume is of a valid extension. This fixes two issues caused by extremely large resumes and resumes that had a valid physical extension but a mismatched MIME type.
  • Previously, when an application was submitted to Bullhorn and a matching candidate was found, the name would not be updated with new data. In order to allow for subsequent applications to append a middle name, name suffix or prefix, or update a first name from a nickname to a legal, given name, name can now be updated by data from the resume.
  • In 3.4.0, we introduced a method for a site operator to track the most recent acceptance of the Privacy Policy and Terms of Service. This was tracked into a Bullhorn candidate customDateXX field. Now, this can also be saved into a customTextXX field, and the value can be filtered to be simply TRUE or 1 if needed. Props to Scott R for the feature request!
  • Email confirmations to recruiters can now also be sent to the “Published Contact” in addition to “Job Owner” and “Assigned Users”.
  • The matador_jobs() function, and [matador_jobs] and [matador_jobs_*] shortcodes now accept a new parameter ‘paginate’. Pass false, “off”, or “no” to turn off page navigation when a job query can produce more results. Default is true, or “on”. (Some may consider this a bugfix, but our use cases for the shortcode were not clear in prior versions.)
  • The matador_jobs() function, and [matador_jobs] and [matador_jobs_*] shortcodes had the ‘limit’ parameter deprecated and renamed ‘jobs_to_show’ and the ‘minimum’ parameter deprecated and renamed ‘backfill’. This change, along with the addition of the ‘paginate’ parameter, helps to create more clear use cases while limiting confusion.
  • The text input fields in the Matador Search form are now wrapped in <div> tags, matching formatting for the taxonomy drop-downs and allowing greater control over styling to template designers.

That isn’t everything, but it covers the major changes! So now, let’s talk about some squashed bugs.

Bug Fixes

Matador is a big piece of code, and bugs are sure to exist. As Matador’s user base grows, our bugs are identified and quickly fixed. Here are some highlights:

  • Fixed an error where the Jobs Structured Data would not honor the setting ‘”Hiring Company” Data Source’ in certain cases, resulting in the Hiring Company Name, and not the Agency Name, being included in the structured data in certain cases. Props to Phil V. for the bug report.
  • Fixed issue where the new [matador_jobs_listing] and [matador_jobs_table] shortcut shortcodes were doing each other’s behavior.
  • Fixed an issue where the Bullhorn API would return a non-breaking warning when Matador updated an existing candidate in Bullhorn, which generally happens when an applicant applies for more than one job in the same 2-year period. This was not causing any issue at this time, but could in the future.
  • Fixed issue where taxonomy drop-down menus with method set as “link” would fail to trigger page reload automatically.
  • Fixed an issue where large resume file sizes (larger than 1mb) would cause a Bullhorn Candidate/Submission sync to fail. Now, sync will continue, but may fail completely later on if not enough user data was required by the form. (Related, also, the new filesize check feature, listed above.)
  • Fixed an issue where job description would not properly display when using the [matador_jobs] shortcode or the matador_jobs() template function outside of a standard loop.
  • Generally refactored how uploads are stored on the server to fix filesystem issues when a user hosted on a Windows IIS server environment. Note: Thank you to this user for allowing us to fully test Matador on IIS for the first time. While we still don’t officially support IIS, we can confidently say Matador works on Windows hosting.
  • Fixed an issue affecting the frequency at which local application data was automatically deleted.
  • Fixed an issue causing some intended HTML to be escaped, causing a visual error, when using specific settings with some Matador Shortcodes.

Other Notes

In addition to these new features and bug fixes, here are few more notes about this release:

  • Matador is tested up to WordPress 5.2.3
  • Matador is tested up to PHP 7.2.18
  • Matador now requires PHP 7.0+. While it will continue to work on PHP 5.6, all new major features will be developed to PHP 7.0+ specs, including the “Candidate Traffic Source Tracking” feature. That means these new features will not load in PHP 5.6 environments. We will completely require PHP 7.0 in a future version, so start upgrading now, if you haven’t already!
  • Matador now supports the new Bullhorn datacenters added recently. Note: Bullhorn is making it more difficult to determine your datacenter, and we are working on a method to determine datacenter automatically in a future update.

Updates to Matador Jobs Pro All Access Extensions

Given the size of this update, many Matador Jobs Pro All Access extensions also saw minor or major changes with today’s release.


  • Now tested up to WordPress 5.2.3
  • Requires at least Matador Jobs 3.5.0
  • Updated how jobs are searched, if applicable, based on changes in core that prevent duplication of jobs.

XML Feeds

  • Now include utm_* variables in your feed URL, ie /feed/?utm_source=indeed&utm_medium=aggregator to take advantage of new Candidate Traffic Source Tracking.

Leads & Referrals

  • If reCAPTCHA extension is enabled, add reCAPTCHA to forms generated by Leads & Referrals.
  • Updated deprecated filter name.


  • Force the reCAPTCHA to be the last field in a form, always.

Advanced Applications

  • Fixes bug for when site is not connected Bullhorn, settings page can still load.
  • Better support for associative field types, notably categories and skills.
  • Number of additional filters and actions.
  • Number of bug fixes.

Looking Forward

Looking forward, we have exciting updates in both the next week and in the next few months.

Two New All Access Extensions

Next week, we will be releasing two new All Access Extensions that All Access subscribers of Matador will be able install to improve and extend Matador’s usefulness.

The first is our Social Web Suite integration. Social Web Suite is a powerful social sharing platform for WordPress. Users of Matador who would like new job opportunities to be auto-posted (or otherwise easily shared) to social media, including LinkedIn and Twitter, may find this a powerful tool to add to their site.

The second is called Company Profiles. This add-on will help web site operators highlight the companies they are hiring for. While we know some users of Matador choose to hide this information, some find value in promoting the company alongside the job. Company Profile will import information from the ClientCorporation record in Bullhorn as well as give site-level tools, like adding a company logo, and build a profile page for the company while showing jobs for the company.

Roadmap for 3.6 and beyond

With 3.5.0 officially launched, we are also looking forward to working on a few key new features and enhancements we want to put into your hands soon, some we hope by year-end. They include:

  • WP-CLI commands. WP-CLI is a command-line management tool for WordPress sites, and a tool of choice of highly efficient WordPress developers and hosting companies alike. Not only do we want various commands like connect, disconnect, and sync available to WP-CLI users, we also want to provide WP-CLI commands for the purpose of setting up true CRON tasks that are run at the server, as opposed to site, level.
  • REST API. In order to support the next items on this list, we will be adding a custom endpoints for the WP-JSON REST API. This will help us add support for Gutenberg and asynchronous data loading, but it will also enable users to push jobs to more external sources (ones that require JSON as opposed to XML) as well as build “headless” WordPress sites.
  • Gutenberg support. Paul and I both love WordPress’s new editor, code-named Gutenberg. That said, Gutenberg is for editing posts, and for a tool like Matador that only imports posts, it isn’t really our thing. That said, we will be adding custom Gutenberg blocks to supplement our shortcodes and exploring how we can support the Gutenberg editor for your jobs.
  • AJAX/asynchronous loading for job data in shortcodes. If I were to describe the last few years of WordPress, it could be told in the development of Gutenberg and the surge of Managed WordPress hosting. The former we’ve just talked about, but the latter matters also, because with Managed WordPress has come aggressive caching to improve WordPress load speeds. We’re finding that users who employ the Matador Jobs shortcodes to power jobs pages are sometimes not seeing their cache clear when a job is added. This is easily fixed by a server-level setting, but we plan to circumvent this need by beginning to also load job data asynchronously upon page load. This also will give us the opportunity to extend more robust, near-instant search results and sorting to your pages, improving the user experience.
  • LUCENE search. Ask any WordPress developer how good search is in WordPress, and they’ll say “it isn’t.” That is because truly relevant searching is a difficult task to accomplish generically and instead varies greatly on each site’s data structure. For this reason, WordPress search is simple to a fault. We aren’t going to try to solve that problem, but we are planning and pass user searches asynchronously into Bullhorn’s new LUCENE search tool and get results based on Bullhorn’s robust search results. We aren’t sure yet if this will be an included core feature or a new All Access add on, but we will be getting to work on this very soon!


Well, I feel like I’ve been typing for days. In fact, I’ll admit, we’ve been “done” for about 10 days and the only thing holding back the formal release has been this incredible project of writing these release notes!

I hope you can see how hard Paul and I have been at work on Matador, even though some of you haven’t per se heard from us lately. And we’re definitely not done yet; there’s lots more to come.

Thank you again for all your support, trust, and in some cases, patience, as our small team builds something amazing for you and your business.

Matador Jobs: Reflecting on Our First Year

As Bullhorn’s Engage 2019 came to a close, it seems like a good time to reflect on our exciting first year for Matador Jobs, especially how it has grown and the improvements we have made.

Last year’s Bullhorn Engage conference was a huge milestone; it marked our official public launch after a year of development and close work with a group of early adopters. It was a fantastic opportunity to interact directly with some of the Bullhorn team, as well as Bullhorn clients. Best of all, even though we had spent many months hammering out the code together, it was the first time that my partner Jeremy and I met in person!

Paul and Jeremy, Matador Jobs, at Engage Boston 2018
Paul and Jeremy of Matador Jobs at Engage Boston, 2018

A year on, we are proud to be listed on the Bullhorn Marketplace as the only Marketplace Partner offering a WordPress/Bullhorn solution.

Matador Jobs have been the best Marketplace Partner I have dealt with and I am blown away by how responsive they are.  They not only email me back but are willing to give guidance and really care about how my jobs and the rest of my site functions within Bullhorn.

Sean De Vore
De Vore Recruiting

During this time, we have released three major updates (with another due any day!), as well as several minor updates and hotfixes. We’ve also extended Matador with an additional four add-ons, available at no extra cost to all our All Access clients.

Feature Highlights

  • Full support for the Google Indexing API, providing a big search traffic boost as a result of almost instant Google job indexing (included in Matador All Access and Pro)
  • Improvements to templates, with greater ease and more extensibility of customization
  • The addition of an optional meta block to the job listing details to get you going without the need for coding
  • Contextual navigation buttons for all job listings
  • Deep links into Bullhorn so that one-click from WordPress takes you to the same data in Bullhorn
  • Lots of ‘under the hood’ improvements to provide increased stability and customization opportunities
  • The brand-new Advanced Applications add-on (All Access only) which allows you to add any Bullhorn candidate field as a question in your application form with just a couple of clicks

 Our jobs are ranking more strongly with less work because of the Matador Pro plugin.

Beth Varela
Marketing & Operations
SkyWater Search Partners

Maintenance and Documentation

We’ve also worked continuously throughout the year on maintenance and bug fixes – please keep on telling us when your run into a problem; your feedback helps us to make Matador even better!

Likewise, slowly but surely, our documentation is becoming more comprehensive as we respond to help requests – we are continuing to work on this.

Paul and Jeremy have both been incredibly helpful, responsive, quick and have implemented new features based on our needs as a client.

If you are looking for a way to utilize your instance of Bullhorn with WordPress, Matador is incredible value with individualized support and ongoing updates.

Matthew Leavitt
Marketing & IT Manager

Google Indexing API for WP Job Manager Plugin

Sometimes one thing leads to another. As a footnote to our work on the Google Indexing API for Matador, it wasn’t much of a leap to realize that this functionality could be useful for other job-boards. We already have a Matador add-on to provide WP Job Manager integration so we decided to wrap the relevant fragment of the code we developed for Matador into an additional dedicated plugin for users of WP Job Manager.

Matador Jobs clients

As word gets out, our client base has been growing steadily – we are so encouraged by and grateful for the positive feedback we have received from our clients.

Thank you for your support!

Exactly what I needed to make our site how I wanted it . . . and all in-house! If you are working in WordPress, this is a no-brainer.

Scott R 
The Ian Martin Group

For more detailed information Matador updates, please read the release notes on our Blog.

Google Indexing API for WP Job Manager Plugin Launch

One of the key new features we included in the 3.4.0 Matador release was full support for the Google Indexing API. We are now delighted to be able to offer the Google Indexing API for WP Job Manager Plugin to non-Bullhorn users of WP Job Manager.

Google created its Indexing API so that Google Jobs can be informed in real time when a job is posted or removed from a job board.

The API allows you to PUSH notifications that you have published a new job or deleted a filled job so that Google adds/removes your jobs in REALTIME.

By making use of this, when you post a job it is included in the Google Job Search results almost instantly, giving you an important advantage.

Similarly, filled jobs are removed promptly and are no longer indexed in Google so your job-seekers should never end up on a 404 page.

By implementing the Google Indexing API for WP Job Manager Plugin you don’t have to wait for Google to get around to crawling your site and add your jobs to their job search index.

Google Indexing API for WP JOb Manager - buy now!
Buy now!

If you are using Matador Jobs Pro or All Access, you already have this functionality available, though it does have to be set up.

Are you still thinking about whether to use Matador to power your job board with Bullhorn Jobs? We believe that it is our commitment to ongoing development and innovative features like this that make Matador Jobs the tool you need.

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!