ThemeHigh
  • Plugins
  • Bundles New
    Documentation
    WooCommerce Essential Bundle
    Feature request
    WooCommerce Checkout page Bundle
    Translation project
    WooCommerce Product page Bundle
    Build your own Bundle
    Build Your Own Bundle (BYOB)
    New
    WooCommerce Essential Bundle
    WooCommerce Checkout page Bundle
    WooCommerce Product page Bundle
    Build Your Own Bundle (BYOB)

    Best Value

    An essential WooCommerce plugins bundle to boost your performance and sales.

    • Checkout field editor for WooCommerce - $49
    • Extra product option for WooCommerce - $39
    • Email customizer for WooCommerce - $39
    • Multistep checkout for WooCommerce - $39
    • Multiple Shipping address for WooCommerce - $39
    • Variation swatches for WooCommerce - $39
    $244$122 Only
    Know more

    Best Value

    An checkout WooCommerce plugins bundle to boost your performance and sales.

    • Checkout Field Editor for WooCommerce - $49
    • Multistep Checkout for WooCommerce - $39
    • Multiple Shipping Address for WooCommerce - $39
    $127$109 Only
    Know more

    Best Value

    An product WooCommerce plugins bundle to boost your performance and sales.

    • Extra Product Option for WooCommerce - $39
    • Variation Swatches for WooCommerce - $39
    • Email Customizer for WooCommerce - $39
    • Schedule Delivery for WooCommerce - $49
    $166$119 Only
    Know more

    HOT SALE

    Your Money, Your Choice - The Savings Are On Us!

    BYOB Offer

    Get the flexibility to create your perfect plugin bundle! Pick the plugins you need and enjoy an exclusive discount —only pay for what you use!

    $100 - $149: 25% Discount

    $150 - $199: 30% Discount

    $200 - $249: 40% Discount

    Above $250: 50% Discount

    *Min 2 quantity is required to claim this offer.

    Know more
  • Documentation
  • Support
  • Partners
  • Login
  • Getting Started
    • Overview...
    • Create New Job Board
    • Manage Jobs & Applicants
    • General Setttings
    • Advanced Settings
    • Email Notifications
    • Customize Job Page
    • Template Structure & Overriding
    • To Export Candidate’s Data...
    • How to Review your Applicants ?...
  • For Developers
    • Hooks & References...
  • Compatible Plugin & Themes
    • Themes...

Documentation/Job Manager & Career/Hooks & References

Hooks & References

Last updated on January 24, 2024

Filter Hooks:

Here are some essential custom filter hooks employed in our pro plugin.

To get old user interface(UI).

apply_filters(‘thjm_load_old_ui’, false );

Parameters:  Boolean value

Usage:
add_filter('thjm_load_old_ui','__return_true');

Default value:  false

Location:

include/class-thjm.php

 

Screenshots
Job listing Page

 

Application Form (as a pop-up)

Load unminified javascript & CSS files for debugging.

apply_filters(‘thjm_debug_mode’, false);

Parameters:  Boolean value

Usage:

add_filter(‘thjm_debug_mode’, ‘__return_true’);

Default value:  false

Location:

public/class-thjm-public.php

To Enable/Disable autocomplete in form fields.

apply_filters(‘thjm_disable_form_field_autocomplete’,true)

Parameters:  Boolean value

Usage:

add_filter(‘thjm_disable_form_field_autocomplete’, ‘__return_false’);

Default value: true

Location: 

admin/class-thjm-admin.php

To modify the locale (language) used by the plugin.

apply_filters(‘plugin_locale’, get_locale(), self::TEXT_DOMAIN);

Parameters: Strings

Usage:

function my_plugin_change_locale( $locale, $domain ) {
    if ( $domain == 'my-plugin-text-domain' ) {
        $locale = 'fr_FR'; // Set the locale to French (France) for the 'my-plugin-text-domain' domain.
    }
    return $locale;
}
add_filter( 'plugin_locale', 'my_plugin_change_locale', 10, 2 );

Default value:  site specific

Location:

includes/class-thjm-i18n.php

Set priority of filter hook single_template to add our template on single job page.

apply_filters(‘thjm_single_template_hook_priority’, 10);

Parameters: Integer Value

Usage:

add_filter('thjm_single_template_hook_priority', 'th_34hf_function');

function th_34hf_function(){
return 9999;
}

Default value:  10

Location:

includes/class-thjm-hooks.php

Set priority of filter hook template_include to add our template on single job page.

apply_filters(‘thjm_template_include_hook_priority’, 999);

This filter only works when other third parties overridden our single_template filter.

Parameters:  Integer Value

Usage: 

add_filter('thjm_template_include_hook_priority', 'th_34hf_tmp_include_function');

function th_34hf_tmp_include_function(){
return 9999;
}

Default value:  999

Location:

includes/class-thjm-hooks.php

List our classes used in listing page

apply_filters(‘thjm_job_listing_body_class’, $classes, THJM_ACTIVE_THEME );

Parameter:  $classes – Array with classes on it, THJM_ACTIVE_THEME – class of active theme.

Usage:

function my_custom_body_class_filter( $classes ) {
// Add your custom classes here
$classes[] = 'my-custom-class';
return $classes;
}
add_filter( 'thjm_job_listing_body_class', 'my_custom_body_class_filter', 10, 2 );

Default Value: Default classes.

Location:

includes/class-thjm-hooks.php

Edit Apply Now Button Content

apply_filters(‘thjm_job_apply_now_button’, __(‘Apply Now’, ‘themehigh-job-manager’) );

Parameter:  String.

Usage:

function my_custom_apply_now_button_filter( $button_text ) {
// Change the button text to your custom text
$button_text = 'Submit Application';
return $button_text;
}
add_filter( 'thjm_job_apply_now_button', 'my_custom_apply_now_button_filter', 10, 1 );

Default Value: Apply Now

Location:

includes/class-thjm-hooks.php

To add Status through Filter

apply_filters(‘thjm_application_status_meta’, array(‘Reviewed’, ‘Shortlisted’, ‘Selected’ ) );

Parameter:  Array.

Usage:

function my_custom_application_status_meta_filter( $statuses ) {
// Add or remove statuses as needed
$statuses = array(
'Initial Screening',
'Reviewed',
'Shortlisted',
'Selected'
);
return $statuses;
}
add_filter( 'thjm_application_status_meta', 'my_custom_application_status_meta_filter', 10, 1 );

Default Value:  Default statuses.

Location:

includes/class-thjm-posts-fields.php

To change slug of job category page (SEO friendly Purposes etc..).

apply_filters(‘thjm_change_category_slug’,’job-category’);

Parameter:  String.

Usage:

function my_custom_category_slug_filter( $slug ) {
// Change the category slug to your custom slug
$slug = 'career-field';
return $slug;
}
add_filter( 'thjm_change_category_slug', 'my_custom_category_slug_filter', 10, 1 );

Default Value:  job-category

Location:

includes/class-thjm-posts.php

To change slug of job location category page (SEO friendly Purposes etc..).

apply_filters(‘thjm_change_location_slug’,’location’);

Parameter:  String.

Usage:

function custom_location_slug( $location_slug ) {
// Modify $location_slug as needed
$location_slug = 'new-location-slug';
return $location_slug;
}
add_filter( 'thjm_change_location_slug', 'custom_location_slug', 10, 1 );

Default Value:  location

Location:

includes/class-thjm-posts.php

To change slug of job type category page (SEO friendly Purposes etc..).

apply_filters(‘thjm_change_type_slug’,’type’)

Parameter:  String.

Usage:

function custom_type_slug( $type_slug ) {
// Modify $type_slug as needed
$type_slug = 'new-type-slug';
return $type_slug;
}
add_filter( 'thjm_change_type_slug', 'custom_type_slug', 10, 1 );

Default Value:  type

Location:

includes/class-thjm-posts.php

To limit job feature key

apply_filters(‘thjm_feature_key_limit’, 1000 );

Parameters: Integer Value.

Usage:

function custom_feature_key_limit( $limit ) {
return 5;
}
add_filter( 'thjm_feature_key_limit', 'custom_feature_key_limit' );

Default Value:  1000

Location:

includes/class-thjm-posts.php

To remove invalid job features from post meta

apply_filters(‘thjm_remove_postmeta_invalids’, false)

Parameters: Boolean Value

Usage:

add_filter(‘thjm_remove_postmeta_invalids’, ‘__return_true’);

Default Value:  false

Location:

includes/class-thjm-posts.php

To skip rendering of any application fields

apply_filters(‘thjm_skip_applicant_field’, false, $key)

Parameters: Boolean Value, $key – key of the application fields

Usage:

// Define a custom function to modify the thjm_skip_applicant_field filter
function my_skip_field_filter($skip, $key) {
// Check if the field key matches a certain value
if ($key == 'email') {
return true; // Skip the email field
} else {
return $skip; // Otherwise, use the default value
}
}

// Add the filter to the thjm_skip_applicant_field hook
add_filter('thjm_skip_applicant_field', 'my_skip_field_filter', 10, 2);

Default Value:  false

Location:

includes/class-thjm-posts.php

To get default template forcefully

apply_filters(‘thjm_return_default_template’, false)

Parameters: Boolean Value

Usage:

add_filter(‘thjm_return_default_template’, ‘__return_true’);

Default Value:  false

Location:

includes/class-thjm-template.php

To fetch our template

apply_filters( ‘thjm_fetch_template’, $template, $template_name, $template_path )

Parameter:  $template – template name if  loaded, $template_name – name of that template, $template_path – path of that template

Usage:

// Define a custom function to modify the thjm_fetch_template filter
function my_fetch_template_filter($template, $template_name, $template_path) {
// Check if the template name matches a certain value
if ($template_name == 'my-custom-template') {
// Modify the template path to a custom location
$custom_path = '/path/to/my/custom/template.php';
$template = $custom_path;
}
return $template;
}

// Add the filter to the thjm_fetch_template hook
add_filter('thjm_fetch_template', 'my_fetch_template_filter', 10, 3);

Default Value: Default template name

Location:

includes/class-thjm-template.php

To Enable/Disable job title as a link on job listing page.

apply_filters(‘thjm_shortcode_post_title_link’, true)

Parameters: Boolean Value

Usage:

//Disable link on job title.
add_filter(‘thjm_shortcode_post_title_link’, ‘__return_false’);

Default Value:  true

Location:

includes/class-thjm-template.php

To modify form field arguments.

apply_filters( ‘thjm_form_field_args’, $args, $key );

Parameters: $args – array  application form field arguments, $key – string  field key

Usage:

function my_plugin_form_field_args( $args, $key ) {
if ( $key === 'my_plugin_name_field' ) {
$args['label'] = 'Full Name';
}
return $args;
}

add_filter( 'thjm_form_field_args', 'my_plugin_form_field_args', 10, 2 );

Default Value:  default arguments.

Location:

includes/class-thjm-template.php

To show optional text for optional fields in form fields along with the labels.

apply_filters(‘thjm_apply_form_optional_message’, false )

Parameters: Boolean Value

Usage:

add_filter(‘thjm_apply_form_optional_message’, ‘__return_true’);

Default Value:  false

Location:

includes/class-thjm-template.php

To enable/disable the labels of application form fields.

apply_filters(‘thjm_text_label_as_placeholder’, $label_inside_field, $key );

Parameters: $label_inside_field – Boolean Value, $key – field name(key).

Usage:

function my_thjm_text_label_as_placeholder_filter( $label_inside_field, $key ) {
// Modify $label_inside_field as needed.
return $label_inside_field;
}
add_filter( 'thjm_text_label_as_placeholder', 'my_thjm_text_label_as_placeholder_filter', 10, 2 );

Default Value:  According to field type.

Location:

includes/class-thjm-template.php

To rearrange the options of checkbox group in a row of application fields.

apply_filters(‘thjm_apply_form_cbgroup_per_row’, 0);

Parameters:  Integer Value

Usage:

function my_thjm_apply_form_cbgroup_per_row_filter( $count ) {
$count = 2;
return $count;
}
add_filter( 'thjm_apply_form_cbgroup_per_row', 'my_thjm_apply_form_cbgroup_per_row_filter', 10, 1 );

Default Value: 0

Location:

includes/class-thjm-template.php

Count 0 (Default)
count 2

 

To change default country code of phone field.

apply_filters(‘thjm_default_phone_country’, ‘US’, $key );

Parameters:  String Value, $key – field key(name)

Usage:

function my_phone_country_filter( $default_country, $key ) {  
$default_country = 'CA'; 
// Return the modified default phone country 
return $default_country; 
} 
// Apply the filter to the default phone country 
add_filter( 'thjm_default_phone_country', 'my_phone_country_filter', 10, 2 );

Default Value: US

Location:

includes/class-thjm-template.php

To disable country flag of phone field.

apply_filters(‘thjm_applicant_phone_dial_code_flag’, true)

Parameters:  Boolean Value

Usage:

add_filter(‘thjm_applicant_phone_dial_code_flag’, ‘__return_false’);

Default Value: True

Location:

includes/class-thjm-template.php

To modify application form field html.

We provide two hooks for filtering form fields, one that is more specific to the field type and another that is more general. The first hook is apply_filters( 'thjm_form_field_' . $args['type'], $field, $key, $args, $value ), which allows you to filter form fields based on their field type. The second hook is apply_filters( 'thjm_form_field', $field, $key, $args, $value ), which allows you to filter form fields regardless of their type.”

apply_filters( ‘thjm_form_field_’ . $args[‘type’], $field, $key, $args, $value );
apply_filters( ‘thjm_form_field’, $field, $key, $args, $value );

Parameters:  $field – field html data, $key – key(name) of the field, $args – arguments of fields, $value – value

Usage:

apply_filters( ‘thjm_form_field_’ . $args[‘type’], $field, $key, $args, $value );

// Define a callback function to modify a specific type(text) of form field
function my_form_field_callback( $field, $key, $args, $value ) {

// Modify the text field

return $field;
}

// Apply the filter to a text field
add_filter( 'thjm_form_field_text', 'my_form_field_callback', 10, 4 );

 

apply_filters( ‘thjm_form_field’, $field, $key, $args, $value );

// Define a callback function to modify any type of form field
function my_form_field_callback_any_type( $field, $key, $args, $value ) {
// You can modify any type of form field in this filter
if ( $args['type'] === 'text' ) {
// Modify the  field here,
}

return $field;
}

// Apply the filter for any field type
add_filter( 'thjm_form_field', 'my_form_field_callback_any_type', 10, 4 );

Default Value: Default field html

Location:

includes/class-thjm-template.php

To hide job location on job listing.

apply_filters(‘thjm_loop_show_location_tag’, true)

Parameters:  Boolean Value

Usage:

add_filter(‘thjm_loop_show_location_tag’, ‘__return_false’);

Default Value: True

Location:

includes/class-thjm-template.php

To hide job type on job listing.

apply_filters(‘thjm_loop_show_job_type_tag’, true)

Parameters:  Boolean Value

Usage:

add_filter(‘thjm_loop_show_job_type_tag’, ‘__return_false’);

Default Value: True

Location:

includes/class-thjm-template.php

To change the format of job posted date to more user friendly on job listing.

apply_filters(‘thjm_toggle_posted_timestap’, false)

Parameters:  Boolean Value

Usage:

add_filter(‘thjm_toggle_posted_timestap’, ‘__return_true’);

Default Value: false

Location:

includes/class-thjm-template.php

Screenshots:

To hide the job feature details forcefully on job listing.

apply_filters( ‘thjm_show_global_job_features’, true, get_the_ID())

Parameters:  Boolean Value, ID of the job

Usage:

// Define a custom function to modify the output of the 'thjm_show_global_job_features' filter
function my_custom_thjm_show_global_job_features( $show_global_job_features, $job_id ) {
// Check if the job ID is equal to 123 (replace with your desired job ID)
if ( $job_id == 123 ) {
// Set $show_global_job_features to false for this job
$show_global_job_features = false;
}
// Return the modified value
return $show_global_job_features;
}

// Add the custom function to the 'thjm_show_global_job_features' filter
add_filter( 'thjm_show_global_job_features', 'my_custom_thjm_show_global_job_features', 10, 2 );

Default Value: true

Location:

includes/class-thjm-template.php

To enable bullet listing for job feature data.

apply_filters(‘thjm_job_feature_plain_list_view’, true)

Parameters:  Boolean Value

Usage:

add_filter(‘thjm_job_feature_plain_list_view’, ‘__return_false’);

Default Value: true

Location:

includes/class-thjm-template.php
Plain listview
Bullet listview

To modify the arguments of  job feature.

apply_filters( ‘thjm_job_features_args’, $args );

Parameters:  Boolean Value

Usage:

// Define a custom function to modify the 'thjm_job_features_args' filter
function my_custom_thjm_job_features_args( $args ) {
// Modify the $args array as needed


// Return the modified $args array
return $args;
}

// Add the custom function to the 'thjm_job_features_args' filter
add_filter( 'thjm_job_features_args', 'my_custom_thjm_job_features_args' );

Default Value: Default arguments.

Location:

includes/class-thjm-template.php

To modify the HTML of  job features.

apply_filters( ‘thjm_display_job_features’, $html, $ft, $dt, $args )

Parameters:  $html – html content, $ft – Array(job features listed as array,  $dt – Array(job feature details listed as array),  $args – Array(arguments listed as array).

Usage:

// Define a function that will modify the HTML output for job features
function my_thjm_display_job_features($html, $ft, $dt, $args) {
// Add a custom class to the unordered list
$html = str_replace('thjm-job-features-list', 'my-job-features-list', $html);

// Add a link to each feature detail
foreach ($dt as $key => $value) {
$dt[$key] = '<a href="' . get_permalink() . '">' . $value . '</a>';
}

// Concatenate the feature label and detail with a colon separator
foreach ($ft as $key => $value) {
$ft[$key] = $args['label_before'] . $value . $args['label_after'] . ' ' . $dt[$key] . $args['separator'];
}

// Remove the last separator
$ft[count($ft) - 1] = rtrim($ft[count($ft) - 1], $args['separator']);

// Add the before and after HTML markup to the modified feature list
$html = $args['before'] . implode($args['separator'], $ft) . $args['after'];

// Return the modified HTML
return $html;
}
// Add a filter to the 'thjm_display_job_features' hook that calls the 'my_thjm_display_job_features' function
add_filter('thjm_display_job_features', 'my_thjm_display_job_features', 10, 4);

Default Value: Default html.

Location:

includes/class-thjm-template.php

To modify the application form field properties.

apply_filters(‘thjm_application_form_fields’, $props);

Parameters:  Boolean Value

Usage:

function modify_phone_field($props) {
$props['phone']['required'] = true; // make phone field required
$props['phone']['label'] = 'Mobile Phone'; // change label to "Mobile Phone"
return $props;
}
add_filter('thjm_application_form_fields', 'modify_phone_field');

Default Value: Default Properties.

Location:

includes/class-thjm-template.php

To modify the URLs of social media platforms and modify the contents of it.

apply_filters(‘thjm_job_social_share_url’, $url, $platform);

Parameters:  $url – String value, $platform – String value.

Usage:

add_filter( 'thjm_job_social_share_url', 'my_custom_job_social_share_url', 10, 2 );

function my_custom_job_social_share_url( $url, $platform ) {
if ( $platform == 'email' ) {
$content = 'Hey, check out this cool job opening at '.get_bloginfo().' for '.get_the_title().'. Apply now at '.get_the_permalink();
$subject = get_the_title().' job opening at '.get_bloginfo();
$url = 'mailto:?body='.urlencode($content).'&subject='.urlencode($subject);
}
return $url;
}

Default Value: Default URL and contents

Location:

includes/class-thjm-template.php

To modify the classes of single job wrapper.

apply_filters(‘thjm_single_job_wrapper_class’, $classes, THJM_ACTIVE_THEME)

Parameters:  $classes – Array(list of classes as array),  THJM_ACTIVE_THEME – Constant(active theme name)

Usage:

function my_thjm_single_job_wrapper_class_filter( $classes, $active_theme ) {
// Modify the classes array here as per your requirement
$classes[] = 'my-custom-class';

return $classes;
}
add_filter( 'thjm_single_job_wrapper_class', 'my_thjm_single_job_wrapper_class_filter', 10, 2 );

Default Value: Default Classes

Location:

includes/class-thjm-template.php

To modify the classes of application form.

apply_filters(‘thjm_apply_form_class’, $class);

Parameters:  $classes – Array(list of classes as array)

Usage:

function my_custom_apply_form_class( $class ) {
$class[] = 'my-custom-class';
return $class;
}
add_filter( 'thjm_apply_form_class', 'my_custom_apply_form_class' );

Default Value: Default Classes

Location:

includes/class-thjm-template.php

To modify the classes of single job content.

apply_filters(‘thjm_single_job_content_class’, $class)

Parameters:  $classes – Array(list of classes as array)

Usage:

function my_custom_thjm_single_job_content_class( $class ) {
$class[] = 'my-custom-class';
return $class;
}
add_filter( 'thjm_single_job_content_class', 'my_custom_thjm_single_job_content_class' );

Default Value: Default Classes

Location:

includes/class-thjm-template.php

To modify the classes of filter input field.

apply_filters(‘thjm_filter_class’, ‘thjm-filter-job-on-change’);

Parameters:  String Value.

Usage:

function my_custom_thjm_filter_class( $class ) {
$class = 'my-custom-class';
return $class;
}
add_filter( 'thjm_filter_class', 'my_custom_thjm_filter_class' );

Default Value: thjm-filter-job-on-change

Location:

includes/class-thjm-template.php

To modify or add style for job manager emails.

apply_filters(‘thjm_email_styles’, $styles);

Parameters:  $styles – Array(style as array key values)

Usage:

add_filter('thjm_email_styles', 'my_email_styles_filter');
function my_email_styles_filter($styles) {
// Modify the 'email_base_color' value
$styles['email_base_color'] = '#ff0000';
// Add a new key/value pair to the array
$styles['email_link_color'] = '#0000ff';
return $styles;
}

Default Value: Default styles

Location:

includes/class-thjm-emails.php

To modify the type of job manager emails.

apply_filters(‘thjm_email_type’, ‘html’);

Parameters:  String Value

Usage:

// Define a callback function to modify the email type
function my_email_type_callback( $email_type ) {
// Modify the email type as needed
if ( is_admin() ) {
return 'plain';
} else {
return $email_type;
}
}
// Add the filter to the hook
add_filter( 'thjm_email_type', 'my_email_type_callback' );

Default Value: html

Location:

includes/class-thjm-emails.php

To modify admin email of job manager emails.

apply_filters(‘thjm_set_admin_email’, $this->admin_email, $job_meta)

Parameters:  String value(email-id), $job_meta – meta data of job

Usage:

// Define a callback function to modify the admin email recipient
function my_admin_email_callback( $admin_email, $job_meta ) {
// Modify the admin email recipient as needed
if ( isset( $job_meta['department'] ) && $job_meta['department'] == 'Sales' ) {
return 'salesadmin@example.com';
} else {
return $admin_email;
}
}
// Add the filter to the hook
add_filter( 'thjm_set_admin_email', 'my_admin_email_callback', 10, 2 );

Default Value: Default admin email.

Location:

includes/class-thjm-emails.php

To add custom placeholders(appln field values) in  job manager emails.

apply_filters(‘thjm_add_custom_variables_in_email’, array(), $appl_info, $job_meta);

Parameters:  Array, $appl_info – Array(application data as array), $job_meta – meta data of job

Usage:

add_filter('thjm_add_custom_variables_in_email','thjm_add_email_custom_fields',3,10);

function thjm_add_email_custom_fields($custom_var,$appl_info, $job_meta){

   $custom_field_value = isset( $appl_info['custom_field_name'] ) ? $appl_info['custom_field_name'] : '';

   if ($custom_field_value){

       $custom_var['{custom_field_placeholder}'] = $custom_field_value;

   }

   return $custom_var;

}

Here the placeholder is  {custom_field_placeholder} and name of the application form field is custom_field_name.

Default Value: Empty array.

Location:

includes/class-thjm-emails.php

To attach custom files(applicant’s files) in  job manager admin emails.

apply_filters(‘thjm_add_attachements_in_email’, array() , $appl_info)

Parameters:  Array, $appl_info – Array(application data as array)

Usage:

add_filter('thjm_add_attachements_in_email','thjm_add_custom_attachemnt_in_email_callback_fn', 2, 10);

function thjm_add_custom_attachemnt_in_email_callback_fn( $attachments, $appl_info ){
$attachments = false;
if( isset( $appl_info['custom_field_name']['file'] ) && file_exists( $appl_info['custom_field_name']['file'] ) ){
$attachments[] = realpath($appl_info['custom_field_name']['file'] );
}
return $attachments;
}

Please be advised that the name of a custom field will be in lowercase and include underscores (_) in place of spaces, matching the label of the field.Once a custom field is created, the name cannot be modified, even if the label is changed later on. If you need to change the name, you will have to create a new field with the desired name and delete the old one.(Eg : Label = Degree Certificate then Name = degree_certificate)

This filter allows you to add multiple files to the admin email by adding their file paths to an array.

Default Value: Empty array.

Location:

includes/class-thjm-emails.php

To modify the header of job manager emails.

apply_filters( ‘thjm_email_headers’, $header, $this->id, $this->object, $this );

Parameters:  String value, id, object, email

Usage:

// Define a callback function to modify the email headers
function my_email_headers_callback( $header, $id, $object, $email ) {
// Modify the email headers as needed
if ( $id == 'new_application' ) {
$header .= 'X-Custom-Header: New Application Received\r\n';
}
return $header;
}
// Add the filter to the hook
add_filter( 'thjm_email_headers', 'my_email_headers_callback', 10, 4 );

Default Value: Default header.

Location:

includes/class-thjm-emails.php

To modify from name of job manager emails.

apply_filters( ‘thjm_email_from_name’, get_bloginfo(‘name’), $this );

Parameters:  String value,  email

Usage:

// Define a callback function to modify the email from name
function my_email_from_name_callback( $from_name, $email ) {
// Modify the from name as needed
$from_name .= ' Support Team';
return $from_name;
}
// Add the filter to the hook
add_filter( 'thjm_email_from_name', 'my_email_from_name_callback', 10, 2 );

Default Value: blog name

Location:

includes/class-thjm-emails.php

To modify from address for outgoing emails of job manager emails.

apply_filters( ‘thjm_email_from_address’, $this->admin_email, $this );

Parameters:  string (email),  email details

Usage:

function my_custom_from_address( $from_address, $email_instance ) {
return 'example@example.com';
}
add_filter( 'thjm_email_from_address', 'my_custom_from_address', 10, 2 );

Default Value: admin email

Location:

includes/class-thjm-emails.php

To modify footer text of job manager emails.

apply_filters(‘thjm_email_footer_text’, get_bloginfo(‘name’) )

Parameters:  string (email),  email details

Usage:

function my_custom_email_footer_text( $footer_text ) {
$footer_text .= '<p>This is my custom footer text.</p>';
return $footer_text;
}
add_filter( 'thjm_email_footer_text', 'my_custom_email_footer_text', 10, 1 );

Default Value: site name

Location:

includes/class-thjm-emails.php

To change the slug of job post type (SEO friendly).

apply_filters(‘thjm_change_post_slug’,’jobs’),

Parameters:  string value

Usage:

function custom_post_type_slug( $slug ) {
$slug = 'careers';
return $slug;
}
add_filter( 'thjm_change_post_slug', 'custom_post_type_slug', 10 );

Default Value: jobs

Location:

includes/class-thjm.php

To enable gutenberg editor for adding new jobs(for job post type).

apply_filters(‘thjm_enable_gutenberg_editor’, false),

Parameters:  Boolean Value

Usage:

add_filter( 'thjm_enable_gutenberg_editor', '__return_true' );

Default Value: false

Location:

includes/class-thjm.php

To forcefully update our database(premium settings data).

apply_filters(‘thjm_force_db_update’, false )

Parameters:  Boolean Value

Usage:

add_filter( 'thjm_force_db_update', '__return_true' );

Default Value: false

Location:

includes/class-thjm.php

To manage plugin menu capability.

apply_filters( ‘thjm_manage_plugin_menu_capability’, ‘edit_posts’ )

Parameters:  String value

Usage:

function change_plugin_menu_capability( $capability ) {
// Change the capability required to 'manage_options'
$capability = 'manage_options';
return $capability;
}
add_filter( 'thjm_manage_plugin_menu_capability', 'change_plugin_menu_capability' );

Default Value: edit_posts

Location:

includes/utils/class-thjm-utils.php

To manage allowed plugin menu capability.

apply_filters( ‘thjm_allowed_capabilities’, self::$capabilities );

Parameters:  String value

Usage:

function modify_allowed_capabilities( $capabilities ) {
// Add 'edit_others_posts' capability to the allowed capabilities
$capabilities[] = 'edit_others_posts';
return $capabilities;
}
add_filter( 'thjm_allowed_capabilities', 'modify_allowed_capabilities' );

Default Value: default capabilities

Location:

includes/utils/class-thjm-utils.php

To reset plugin settings.

apply_filters(‘thjm_clear_plugin_settings’, $all);

Parameters:  Boolean value

Usage:

add_filter( 'thjm_clear_plugin_settings', '__return_true' );

Default Value: false

Location:

includes/utils/class-thjm-utils.php

To show/hide emptied taxonomy terms.

apply_filters(‘thjm_show_empty_taxonomy_terms’, true, $tag)

Parameters:  Boolean value, $tag – beloved tags
Usage:

function modify_show_empty_taxonomy_terms( $show_empty_terms, $taxonomy ) {
// Check if the taxonomy is 'product_category'
if ( $taxonomy == 'product_category' ) {
// Set show_empty_terms to false
$show_empty_terms = false;
}
return $show_empty_terms;
}
add_filter( 'thjm_show_empty_taxonomy_terms', 'modify_show_empty_taxonomy_terms', 10, 2 );

Default Value: true

Location:

includes/utils/class-thjm-utils.php

To change date format by filter.

apply_filters( ‘thjm_change_job_column_date_format’, get_option(‘date_format’) )

Parameters:  String value
Usage:

function modify_job_column_date_format( $date_format ) {
// Change the date format to 'F j, Y'
$date_format = 'F j, Y';
return $date_format;
}
add_filter( 'thjm_change_job_column_date_format', 'modify_job_column_date_format' );

Default Value: default format

Location:

includes/utils/class-thjm-utils.php

To modify application phone country codes.

apply_filters( ‘thjm_application_phone_country_codes’, $calling_codes )

Parameters:  phone country codes as a JSON string ($calling_codes)

Usage:

function modify_phone_country_codes( $calling_codes ) {
// Decode the JSON string to an array
$calling_codes_array = json_decode( $calling_codes, true );

// Add a new country to the list
$new_country = array(
'name' => 'United States',
'dial_code' => '+1',
'code' => 'US',
'flag' => '🇺🇸'
);
array_push( $calling_codes_array, $new_country );

// Encode the modified array back to a JSON string
$calling_codes = json_encode( $calling_codes_array );

return $calling_codes;
}
add_filter( 'thjm_application_phone_country_codes', 'modify_phone_country_codes' );

Default Value: country codes in Json

Location:

includes/utils/class-thjm-utils.php

To modify the details button.

apply_filters( ‘thjm_job_details_button’, __(‘Details’, ‘themehigh-job-manager’) );

Parameters:  String value

Usage:

function modify_job_details_button_text( $button_text ) {
// Change the button text to 'View Job'
$button_text = 'View Job';
return $button_text;
}
add_filter( 'thjm_job_details_button', 'modify_job_details_button_text' );

Default Value: Details

Location:

public/class-thjm-public-jobs.php

To filter theme compatibility lists.

apply_filters( “thjm_filter_theme_compatibility”, $themes );

Parameters:  Array(list of themes)

Usage:

function modify_theme_compatibility( $themes ) {
// Add a new theme to the list
$themes[] = 'Twenty Fourteen';

return $themes;
}
add_filter( 'thjm_filter_theme_compatibility', 'modify_theme_compatibility' );

Default Value: Array of compatible themes

Location:

public/class-thjm-public-jobs.php

To disable/deque select2 debugging purpose.

apply_filters(‘thjm_enqueue_select2’, true)

Parameters:  Boolean Value.

Usage:

add_filter( 'thjm_enqueue_select2', '__return_false' );

Default Value: true

Location:

public/class-thjm-public-jobs.php

To disable application form validation message.

apply_filters( ‘thjm_disable_apply_form_validation_message’, false ),

Parameters:  Boolean Value.

Usage:

add_filter( 'thjm_disable_apply_form_validation_message', '__return_true' );

Default Value: false

Location:

public/class-thjm-public-jobs.php

To manage application form submission message.

apply_filters( ‘thjm_apply_form_submit_messages’, $value, $key )

Parameters: $value –  String  value content of message, $key – String value status of message

Usage:

function modify_apply_form_submit_messages( $message, $status ) {
if ( $status == 'success' ) {
// Change the success message
$message = 'Thank you for submitting your application. We will review it and get back to you soon.';
} else if ( $status == 'error' ) {
// Change the error message
$message = 'An error occurred while submitting your application. Please try again later.';
}

return $message;
}
add_filter( 'thjm_apply_form_submit_messages', 'modify_apply_form_submit_messages', 10, 2 );

Default Value: Default messages

Location:

public/class-thjm-public-jobs.php

To manage application form validation messages (All fields).

apply_filters(‘thjm_apply_form_fields_validation’, array())

Array contains all validation messages

Parameters: Array contains validation messages

Usage:

function modify_apply_form_fields_validation( $fields ) {
// Add a new field called "message"
$fields['message'] = array(
'regex' => false,
'message' => '',
);

// Modify the regex pattern and message for the "phone" field
$fields['phone']['regex'] = '/^\d{10}$/';
$fields['phone']['message'] = __('Please enter a valid 10-digit phone number.', 'themehigh-job-manager');

return $fields;
}
add_filter( 'thjm_apply_form_fields_validation', 'modify_apply_form_fields_validation' );

Default : Default messages

Location:

public/class-thjm-public-jobs.php

To manage fileupload accepted types files.

apply_filters(‘thjm_file_upload_accepted_file_types’, $ftypes);

Parameters:  $ftypes – array of accepted file types.

Usage:

function modify_accepted_file_types( $ftypes ) {
// Add support for .doc and .docx files
$ftypes['doc'] = 'application/msword';
$ftypes['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';

return $ftypes;
}
add_filter( 'thjm_file_upload_accepted_file_types', 'modify_accepted_file_types' );

Default Value: Array of accepted file types

Location:

public/class-thjm-public-jobs.php

To prevent  job listing section(shortcode) in widgets

apply_filters(‘prevent_thjm_shortcode_in_widget’,false)

Parameters:  Boolean Value

Usage:

add_filter( 'prevent_thjm_shortcode_in_widget', '__return_true' );

Default Value: false

Location:

public/class-thjm-public-jobs.php

To control the execution of shortcodes specifically within the loop.

apply_filters(‘thjm_restrict_shortcode_to_pages’,false)

Parameters:  Boolean Value

Usage:

add_filter( 'thjm_restrict_shortcode_to_pages', '__return_true' );

Default Value: false

Location:

public/class-thjm-public-jobs.php

To restrict job interaction

apply_filters(‘thjm_job_interaction_allowed’,true)

Parameters:  Boolean Value

Usage:

function restrict_job_interaction_to_logged_in_users($allowed) {
// Check if the user is logged in
if (is_user_logged_in()) {
// Allow job interaction for logged-in users
return true;
} else {
// Disallow job interaction for non-logged-in users
return false;
}
}
// Add the filter
add_filter('thjm_job_interaction_allowed', 'restrict_job_interaction_to_logged_in_users');

Default Value: true

Location:

includes/class-thjm-template.php

To  supports attributes of job post type

apply_filters(‘thjm_job_post_type_supports’, array( ‘title’, ‘editor’, ‘excerpt’))

Parameters:  array

Usage:

// Define a function to modify the supported features of the custom post type
function thjm_add_thumbnail_support( $supports ) {
// Add 'thumbnail' support to the existing features
$supports[] = 'thumbnail';
return $supports;
}

// Hook the function to the 'thjm_job_post_type_supports' filter
add_filter( 'thjm_job_post_type_supports', 'thjm_add_thumbnail_support' );



// Function to display the featured image before single job content
function thjm_display_featured_image_before_content() {
if (has_post_thumbnail()) {
echo '<div class="featured-image">';
the_post_thumbnail(); // You can add size parameters here if needed
echo '</div>';
}
}

// Hook the function to the 'thjm_before_single_job_content' action
add_action('thjm_before_single_job_content', 'thjm_display_featured_image_before_content');

Default Value: array( ‘title’, ‘editor’, ‘excerpt’)

Location:

includes/class-thjm.php

To show job listing before content

apply_filters(‘thjm_shortcode_before_content’, false)

Parameters:  Boolean Value

Usage:

add_filter( 'thjm_shortcode_before_content', '__return_true' );

Default Value: false

Location:

public/class-thjm-public-jobs.php

To add file format validation types for file uploads

apply_filters(‘thjm_file_format_check_fields’, array() )

Parameters:  array

Usage:

// Define the filter callback function
function modify_file_format_check_fields( $file_format_valid ) {
// Add the 'cover_letter' file format to the array
$file_format_valid[] = '.docx';

// Return the modified array
return $file_format_valid;
}

// Add the filter hook to WordPress
add_filter( 'thjm_file_format_check_fields', 'modify_file_format_check_fields' );

Default Value: empty array

Location:

public/class-thjm-public.php

To change position of  job features to after content by filter

There is also direct option for this in plugin settings

apply_filters(‘thjm_features_before_description’, true)

Parameters:  Boolean Value
Usage:

add_filter( 'thjm_features_before_description', '__return_false',999 );

Default Value: true

Location:

public/class-thjm-public.php

To fetch our templates

apply_filters( ‘fetch_thjm_template’, $template, $template_name, $template_path );

Parameters:  original template path, the template name, and the template path specified by plugin
Usage:

function my_thjm_template_filter( $template, $template_name, $template_path ) {
// Modify the template path as needed
$new_template_path = 'my-custom-template-path/';
$template = $new_template_path . $template_name;
return $template;
}
add_filter( 'fetch_thjm_template', 'my_thjm_template_filter', 10, 3 );

Default Value: Default path

Location:

public/class-thjm-public.php

To hide optional label from the field

apply_filters(‘thjm_appply_form_optional_label’, true)

Parameters:  Boolean Value

Usage:

add_filter( 'thjm_appply_form_optional_label', '__return_false' );

Default Value: true

Location:

public/class-thjm-public.php

To modify the HTML of  details button.

apply_filters(‘thjm_loop_job_details_button’,’html_content’)

Parameters:  html content

Usage:

function my_thjm_loop_job_details_button_filter( $button_html ) {
// Modify the button HTML as needed
$new_button_html = str_replace( 'Details', 'View Details', $button_html );
return $new_button_html;
}
add_filter( 'thjm_loop_job_details_button', 'my_thjm_loop_job_details_button_filter' );

Default Value: Default content

Location:

public/class-thjm-public.php

To include custom fields other than the default fields in the CSV file

thjm_modify_csv_header_row, thjm_add_custom_data_to_csv

One for adding header row(label)  and other one is to add its data respectively.

  • Header Row
$header = apply_filters('thjm_modify_csv_header_row',[
'Applicant-id', 'Applicant Name', 'Applied Position', 'Contact Number', 'Applicant Email', 'Applicant Resume', 'Cover Letter','Applicant Status','Applied Date'
]);

Parameters: Array of strings(Labels).

Usage:

add_filter('thjm_modify_csv_header_row', 'thjm_modify_csv_header_row_function',10);

function thjm_modify_csv_header_row_function($header){
$header[] = 'Custom Field1';
$header[] = 'Custom Field2';
#or
array_push($header, 'Custom Field 1', 'Custom Field 2');
return $header;
}

Default Value: Default fields label Eg- Applicant-id’, ‘Applicant Name’, ‘Applied Position’, ‘Contact Number etc..

Location:

includes/class-thjm-csv-export.php
  • Data Row
$data[] = apply_filters('thjm_add_custom_data_to_csv',array(
            'id'  => $post_id,
            'title'  => get_the_title($post_id),
            'job_title' => $job_title,
            'phone' => $phone,
            'email' => $email,
            'resume' => $url,
            'cover_letter' => $cover_letter,
            'application_status' => $application_status,
            'published_date'  => get_the_date('dS M Y', $post_id)
        ),$post_id);

Parametrs:  Array of key with its value.

Usage:

add_filter('thjm_add_custom_data_to_csv', 'thjm_add_custom_data_to_csv_function', 10, 2);

function thjm_add_custom_data_to_csv_function($data, $post_id){
$meta_data = get_post_meta($post_id);
$custom_field_value1 = isset($meta_data['custom_field1']) ? reset($meta_data['custom_field1']) : '';
$custom_field_value2 = isset($meta_data['custom_field2']) ? reset($meta_data['custom_field2']) : '';
$data['custom_field_value1'] = $custom_field_value1;
$data['custom_field_value2'] = $custom_field_value2;
return $data;
}

Default Value: Default field values.

Location:

includes/class-thjm-csv-export.php

Please be advised that the name of a custom field will be in lowercase and include underscores (_) in place of spaces, matching the label of the field.Once a custom field is created, the name cannot be modified, even if the label is changed later on. If you need to change the name, you will have to create a new field with the desired name and delete the old one.(Eg : Label = Custom Field then Name = custom_field)

Action Hooks:

Please find below some of the crucial action hooks that our plugin provides.

Before single job header

do_action( ‘thjm_before_single_job’ );

Location:

templates/content-single-job.php

On single job header

do_action( ‘thjm_single_job_header’ );

Location:

templates/content-single-job.php

Before single job content

do_action( ‘thjm_before_single_job_content’ );

Location:

templates/content-single-job.php

On single job content

do_action( ‘thjm_single_job_content’ );

Location:

templates/content-single-job.php

After single job content

do_action( ‘thjm_after_single_job_content’ );

Location:

templates/content-single-job.php

After single job

do_action( ‘thjm_after_single_job’ );

Location:

templates/content-single-job.php

Before job loop item

do_action( ‘thjm_before_job_loop_item’ );

Location:

templates/content-thjm-listing.php

Before job loop title

do_action( ‘thjm_before_job_loop_item_title’ );

Location:

templates/content-thjm-listing.php

On job loop title

do_action( ‘thjm_job_loop_item_title’ );

Location:

templates/content-thjm-listing.php

After job loop title

do_action( ‘thjm_after_job_loop_item_title’ );

Location:

templates/content-thjm-listing.php

After job loop item

do_action( ‘thjm_after_job_loop_item’ );

Location:

templates/content-thjm-listing.php

Before single job main content

do_action( ‘thjm_before_main_content’ );

Location:

templates/single-thjm_jobs.php

After single job main content

do_action( ‘thjm_after_main_content’ );

Location:

templates/single-thjm_jobs.php

Before job features on single job

do_action(‘thjm_before_single_job_feature’);

Location:

templates/single-jobs/features.php

After job features on single job

do_action(‘thjm_after_single_job_feature’);

Location:

templates/single-jobs/features.php

Before application form submit button

do_action(‘thjm_before_application_submit_button’);

Location:

templates/single-jobs/job-application.php

Additional content in job listing header

do_action(‘thjm_listing_header_additional_content’);

Location:

templates/version1/thjm-job-listings-list.php
Get the plugin

On this page

  • Filter Hooks:
  • To get old user interface(UI).
  • Load unminified javascript & CSS files for debugging.
  • To Enable/Disable autocomplete in form fields.
  • To modify the locale (language) used by the plugin.
  • Set priority of filter hook single_template to add our template on single job page.
  • Set priority of filter hook template_include to add our template on single job page.
  • List our classes used in listing page
  • Edit Apply Now Button Content
  • To add Status through Filter
  • To change slug of job category page (SEO friendly Purposes etc..).
  • To change slug of job location category page (SEO friendly Purposes etc..).
  • To change slug of job type category page (SEO friendly Purposes etc..).
  • To limit job feature key
  • To remove invalid job features from post meta
  • To skip rendering of any application fields
  • To get default template forcefully
  • To fetch our template
  • To Enable/Disable job title as a link on job listing page.
  • To modify form field arguments.
  • To show optional text for optional fields in form fields along with the labels.
  • To enable/disable the labels of application form fields.
  • To rearrange the options of checkbox group in a row of application fields.
  • To change default country code of phone field.
  • To disable country flag of phone field.
  • To modify application form field html.
  • To hide job location on job listing.
  • To hide job type on job listing.
  • To change the format of job posted date to more user friendly on job listing.
  • To hide the job feature details forcefully on job listing.
  • To enable bullet listing for job feature data.
  • To modify the arguments of job feature.
  • To modify the HTML of job features.
  • To modify the application form field properties.
  • To modify the URLs of social media platforms and modify the contents of it.
  • To modify the classes of single job wrapper.
  • To modify the classes of application form.
  • To modify the classes of single job content.
  • To modify the classes of filter input field.
  • To modify or add style for job manager emails.
  • To modify the type of job manager emails.
  • To modify admin email of job manager emails.
  • To add custom placeholders(appln field values) in job manager emails.
  • To attach custom files(applicant's files) in job manager admin emails.
  • To modify the header of job manager emails.
  • To modify from name of job manager emails.
  • To modify from address for outgoing emails of job manager emails.
  • To modify footer text of job manager emails.
  • To change the slug of job post type (SEO friendly).
  • To enable gutenberg editor for adding new jobs(for job post type).
  • To forcefully update our database(premium settings data).
  • To manage plugin menu capability.
  • To manage allowed plugin menu capability.
  • To reset plugin settings.
  • To show/hide emptied taxonomy terms.
  • To change date format by filter.
  • To modify application phone country codes.
  • To modify the details button.
  • To filter theme compatibility lists.
  • To disable/deque select2 debugging purpose.
  • To disable application form validation message.
  • To manage application form submission message.
  • To manage application form validation messages (All fields).
  • To manage fileupload accepted types files.
  • To prevent job listing section(shortcode) in widgets
  • To control the execution of shortcodes specifically within the loop.
  • To restrict job interaction
  • To supports attributes of job post type
  • To show job listing before content
  • To add file format validation types for file uploads
  • To change position of job features to after content by filter
  • To fetch our templates
  • To hide optional label from the field
  • To modify the HTML of details button.
  • To include custom fields other than the default fields in the CSV file
  • Action Hooks:
  • Before single job header
  • On single job header
  • Before single job content
  • On single job content
  • After single job content
  • After single job
  • Before job loop item
  • Before job loop title
  • On job loop title
  • After job loop title
  • After job loop item
  • Before single job main content
  • After single job main content
  • Before job features on single job
  • After job features on single job
  • Before application form submit button
  • Additional content in job listing header

This article posted in For Developers, Job Manager & Career, Pro Documentation

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

ThemeHigh

We develop innovative WordPress plugins and themes for e-commerce and other WordPress websites.

Resources
  • Documentation
  • Support
  • Blog
  • Bestsellers
  • Affiliates
  • Partners
Policy Information
  • Terms & Conditions
  • Privacy Policy
  • Support Policy
  • Refunds Policy
  • Licenses
Security
Payment Options

© 2025 ThemeHigh. All rights reserved.

Terms and conditions, features, support, pricing, and service options subject to change without notice.