Job Fields

Prefill the company logo field

add_filter('submit_job_form_fields', 'dm_prefill_company_logo');
function dm_prefill_company_logo( $fields ) {
  $fields['company']['company_logo']['value'] = 'full_url_to_the_logo';
  return $fields;
}

Mandatory fields

add_filter( 'submit_job_form_fields', 'custom_submit_job_form_fields' , 11);
function custom_submit_job_form_fields( $fields ) {
    $fields['job']['job_location']['required'] = true;
    $fields['job']['job_tags']['required'] = true;
    return $fields;
}

Prefill application email

add_filter('submit_job_form_fields_get_user_data', 'aas_prefill_application_field');
function aas_prefill_application_field( $fields ) {
  $fields['job']['application']['value'] = 'hello@your-link.com';
  return $fields;
}

Remove a field from the job submission page

add_filter( 'submit_job_form_fields', 'custom_submit_job_form_fields_dm' );
function custom_submit_job_form_fields_dm( $fields ) {
    unset($fields['job']['job_tags']);
    return $fields;
}

Remove all company details from the job submission page

add_filter( 'submit_job_form_fields', 'gma_custom_submit_job_form_fields' );
function gma_custom_submit_job_form_fields( $fields ) {
    unset($fields['company']['company_name']);
    unset($fields['company']['company_website']);
    unset($fields['company']['company_tagline']);
    unset($fields['company']['company_video']);
    unset($fields['company']['company_twitter']);
    unset($fields['company']['company_logo']);
    return $fields;
}

Change the default Job Type

add_filter( 'submit_job_form_fields', 'submit_job_form_fields_job_type_default' , 11);
function submit_job_form_fields_job_type_default( $fields ) {
    $fields['job']['job_type']['default'] = 'volunteer';
    return $fields;
}

Prefill the Locations field

add_filter('submit_job_form_fields', 'bk_prefill_jobs_location');
function bk_prefill_jobs_location( $fields ) {
  $fields['job']['job_location']['value'] = 'Granite Falls, WA';
  return $fields;
}

Redirects

Use alternative login page

add_filter( 'login_url', 'my_login_page', 10, 2 );
function my_login_page( $login_url, $redirect ) {
    return home_url( '/my-custom-login-page/?redirect_to=' . $redirect );
}

Redirect to Job Dashboard after job submission

add_filter( 'job_manager_job_submitted', function() {
    if ( wp_redirect( job_manager_get_permalink( 'job_dashboard' ) ) ) {
	    exit;
	  }
}, 20 );

Job Listings

Sort using custom field

function change_listing_args( $query_args ) {
	if ( ! empty( $query_args['orderby']['menu_order'] ) ) {
		$query_args['meta_key'] = '';
		$query_args['orderby']  = array_merge(
			array_splice( $query_args['orderby'], 0, 1 ),
			[ 'meta_value_num' => 'ASC' ],
			$query_args['orderby']
		);
	}
	return $query_args;
}
add_filter( 'get_job_listings_query_args', 'change_listing_args' );

Disable Job Schema

add_filter( 'wpjm_output_job_listing_structured_data', '__return_false' );

Enable excerpts in Job Listing descriptions

function add_excerpt_support_for_jobs() {
 add_post_type_support( 'job_listing', 'excerpt' );
}
add_action( 'init', 'add_excerpt_support_for_jobs' );

Search

Make custom meta field searchable

function my_wpjm_meta_key_dm() {
    global $wpdb, $job_manager_keyword;
    $searchable_meta_keys[] = '_my_meta_field';
    return $searchable_meta_keys;
}
add_filter('job_listing_searchable_meta_keys', 'my_wpjm_meta_key_dm');

WP Admin

Remove “Listing Expires” column from Job Dashboard

add_filter( 'job_manager_job_dashboard_columns', 'remove_expires_column' ); 
function remove_expires_column( $columns ) {
    unset( $columns['expires'] );
    return $columns;
}

Geocoding / Geolocation

Disable Geolocation

add_filter( 'job_manager_geolocation_enabled', '__return_false' );

Other

Enable comments on job listings

add_filter( 'register_post_type_job_listing', 'register_post_type_job_listing_enable_comments' );
function register_post_type_job_listing_enable_comments( $post_type ) {
	$post_type['supports'][] = 'comments';
	return $post_type;
}