Matador Jobs provides an XML feeds add-on for syndication to 3rd party job boards. You can find the list of available feeds at the bottom of the Job Listing tab in matador settings

Some of the feed need filters to be set up to provide additional information in order to work
Below are the filters available for each feed.
Feeds available
If you need another feed added reach out to Matador support with the XML spec and we will add it.
The code below are examples for you to change to meet what you need to do.
All Feeds
Each of the feeds a couple of common filters/actions
Skip the job (do not include the job in the feed)
// optional
add_filter('matador_jobs_xml_skip_job_{feed_slug}', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
// do not include
return true;
}
return $skip;
}, 10, 3);
Add extra data used to add additional XML to a job
add_action('matador_jobs_xml_job_extra_{feed_slug}', function( $post, $meta, $jsonld ){
echo '<extra_data>the data</extra_data>';
}, 10, 3);Indeed
Us this feed if you wish to control which jobs are push to indeed and have an account that you use to promote jobs with otherwise you the Bullhorn direct integration as it is FREE
Note: the Bullhorn direct integration requires that the CareerPortalDomainURL be set to point to your job achieve page followed by the Bullhorn job Id https://domin.tld/jop-listings/{?}
// optional
add_filter('matador_jobs_xml_skip_job_indeed', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs-xml_publisher', function ($name){
return $name . ' for Zip Recruiter';});Jobbird
// optional
add_filter('matador_jobs_xml_skip_job_Jobbird', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs-xml_publisher', function ($name){
return $name . ' for Zip Recruiter';});Ziprecruiter
// optional
add_filter('matador_jobs_xml_skip_job_ziprecruiter', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs_xml_publisher', function ($name){
return $name . ' for Zip Recruiter';});
// optional
add_filter('matador_jobs_pro_jobs_xml_ziprecruiter_categories_tax_remap', function ($term, $allowed_terms){
switch ($term){
case 'OLD TERM':
$term = 'NEW TERM';
break;
}
if ( in_array( $term, $allowed_terms, true ) ) {
return "default term";
}
return $term;
}, 10, 2);
// optional
add_filter('matador_jobs_pro_jobs-xml_publisher', function ($name){
return $name . ' for Zip Recruiter';});Monster Jobs
// optional
add_filter('matador_jobs_xml_skip_job_ziprecruiter', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs_xml_ziprecruiter_categories_tax_remap', function ($term){
switch ($term){
case 'OLD TERM':
$term = 'NEW TERM';
break;
}
return $term;
});
// optional
add_filter('matador_jobs_pro_jobs-xml_publisher', function ($name){
return $name . ' for Zip Recruiter';});mdsearch
// optional
add_filter('matador_jobs_xml_skip_job_mdsearch', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_xml_specialty', function ($term, $wp_job_id, $context ){
switch ($term){
case 'OLD TERM':
$term = 'NEW TERM';
break;
}
return $term;
}, 10, 3);
// optional
add_filter('matador_jobs_xml_type', function ($term, $wp_job_id, $context ){
switch ($term){
case 'OLD TERM':
$term = 'NEW TERM';
break;
}
return $term;
}, 10, 3);Physemp
// optional
add_filter('matador_jobs_xml_skip_job_physemp', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_xml_specialty', function ($term, $wp_job_id, $context ){
switch ($term){
case 'OLD TERM':
$term = 'NEW TERM';
break;
}
return $term;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs-xml_publisher', function ($name){
return $name . ' for Zip Recruiter';});
Jooble
// optional
add_filter('matador_jobs_xml_skip_job_jooble', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs-xml_publisher', function ($name){
return $name . ' for Zip Recruiter';});Wanderly
// optional
add_filter('matador_jobs_xml_skip_job_wanderly', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);Clearance Jobs
You need to add filters for this feed to work. You will get a username and password and you will need to create a custom field in bullhorn to set the clearance level for each job and import that to WordPress as taxonomy and provide the ID of the WP taxonomy via the filter below
// optional
add_filter('matador_jobs_xml_skip_job_clearancejobs', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// required
add_filter('matador_jobs_pro_jobs_xml_clearancejobs_username', function (){return 'username';});
// required
add_filter('matador_jobs_pro_jobs_xml_clearancejobs_password', function (){return 'password';});
// required
add_filter('matador_jobs_pro_jobs_xml_clearancejobs_clearance_type_tax', function (){return 'matador-clearance';});
// optional
add_filter('matador_jobs_pro_jobs_xml_clearancejobs_clearance_type_tax_remap', function ($term){
switch ($term){
case 'TS/SCI w POLY':
$term = 'TS/SCI';
break;
}
return $term;
});
// optional
add_filter('matador_jobs_xml_skip_job_xing', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
// one of FULL_TIME,PART_TIME,INTERN,SEASONAL,TEMPORARY,CONTRACTOR,VOLUNTARY
add_filter('matador_jobs_pro_jobs_xml_xing_job_type_remap', function ($job_type, $wp_job_id, $context ){
switch ($job_type){
case 'Old Ttype':
$job_type = 'FULL_TIME';
break;
}
return $job_type;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs_xml_xing_skills_tax_remap', function ($term, $wp_job_id, $context ){
switch ($term){
case 'OLD TERM':
$term = 'NEW TERM';
break;
}
return $term;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs_xml_xing_country_name_remap', function ($country, $allowed_terms){
switch ($country){
case 'OLD TERM':
$country= 'NEW TERM';
break;
}
if ( ! in_array( $country, $allowed_terms, true ) ) {
return "default term";
}
return $country;
}, 10, 2);https://docs.microsoft.com/en-us/linkedin/talent/job-postings/xml-feeds-development-guide
You will need to email ll-bd@linkedin.com to get the feed added https://docs.microsoft.com/en-us/linkedin/talent/job-postings/xml-feeds-development-tools
// optional
add_filter('matador_jobs_xml_skip_job_linked', function ($skip, $job, $job_meta ){
if( $job_meta['id'][0] === 'value' ){
return true;
}
return $skip;
}, 10, 3);
// optional
add_filter('matador_jobs_pro_jobs_xml_linkedin_jobtype_remap', function ($type, $allowed_terms){
switch ($type){
case 'OLD TYPE':
$type = 'NEW TYPE';
break;
}
if ( ! in_array( $type, $allowed_terms, true ) ) {
return "default term";
}
return $type;
}, 10, 2);
// optional
add_filter('matador_jobs_pro_jobs_xml_xing_country_name_remap', function ($country, $allowed_terms){
switch ($country){
case 'OLD TERM':
$country= 'NEW TERM';
break;
}
if ( ! in_array( $country, $allowed_terms, true ) ) {
return "default term";
}
return $country;
}, 10, 2);