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
add_filter('thjm_load_old_ui','__return_true');
Default value: false
Location:
include/class-thjm.php
Screenshots
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
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
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