To output any custom fields you have created you can either use Shortcodes or one of the following PHP functions to output the custom field values.
Right now there are multiple functions available, one for job fields, company fields, resume fields, etc. This is for any future enhancements, but currently all functions do the same thing (so technically you could use get_resume_field and with details for a job listing and it will still display right. My Suggestion is to use job, company, or resume for the specific field, and if you are not sure then you can use custom field function.
You can find all of these functions and details on them in the includes/functions.php file under the wp-job-manager-field-editor plugin directory.
I also recommending looking through my Gist on GitHub as this is where I frequently post examples (PHP, JS, etc) for support tickets and I may already have some example code you need:
https://gist.github.com/tripflex
Available Functions
get_job_field / the_job_field
get_job_field( $field_slug, $job_id, $args ) or the_job_field( $field_slug, $job_id, $args )
$field_slugis the meta key for the field$job_idoptional The job ID you want to get the value from, if $job_id is not specified it will use the current job listing.$argsoptional Array with key => value configuration (can be any configuration attribute available in shortcodes). See below for more details.- Using
get_job_fieldwill return the value, usingthe_job_fieldwill echo/print out the field.
get_company_field / the _company_field
get_company_field( $field_slug, $job_id, $args ) or the_company_field( $field_slug, $job_id, $args )
$field_slugis the meta key for the field$job_idoptional The job ID you want to get the value from, if $job_id is not specified it will use the current job listing.$argsoptional Array with key => value configuration (can be any configuration attribute available in shortcodes). See below for more details.- Using
get_company_fieldwill return the value, usingthe_company_fieldwill echo/print out the field.
get_resume_field / the_resume_field
get_resume_field( $field_slug, $resume_id, $args ) or the_resume_field( $field_slug, $resume_id, $args )
$field_slugis the meta key for the field$resume_idoptional The resume ID you want to get the value from, if $resume_id is not specified it will use the current resume listing.- Using
get_resume_fieldwill return the value, usingthe_resume_fieldwill echo/print out the field.
get_custom_field / the_custom_field
get_custom_field( $field_slug, $post_id, $args ) or the_custom_field( $field_slug, $post_id, $args )
$field_slugis the meta key for the field$post_idoptional The resume/job ID you want to get the value from, if not specified it will use the current resume/job listing.$argsoptional Array with key => value configuration (can be any configuration attribute available in shortcodes). See below for more details.- Using
get_custom_fieldwill return the value, usingthe_custom_fieldwill echo/print out the field.
Example Usage
Say I wanted to output a new custom field I created with a meta key of job_salary, this is the PHP code you would add to your job listing template file:
Using `get_job_field`
$salary = get_job_field( 'job_salary' ); echo $salary;
Or you could simply use the_job_field function instead:
Using the_job_field
the_job_field( 'job_salary' );
Both of the examples above would output the value of the field if it was set for the job listing. This same method can be used for company, resumes, or any other custom fields.
Show image from custom upload field
$image_url = get_company_field( 'company_office_photo' ); echo '<img src="' . $image_url '" />';
Passing $args configurations
You can pass any configuration arguments/attributes available in shortcodes, when calling PHP functions. If you do not want to define the listing ID, and want to force my plugin to automagically detect the listing id, just pass null to the listing id, like so:
the_job_field( 'some_job_field', null, array( 'output_as' => 'text' ) );
As you can see above, just pass null as the second parameter, and then in the third parameter you can define configurations.
Here’s a few more examples for reference:
Output “another_custom_field” showing label, and with full wrapper HTML element enabled
the_custom_field( 'another_custom_field', null, array( 'output_show_label' => true, 'output_enable_fw' => true ) );
Define arguments configuration in separate variable
$website_link_args = array(
'output_as' => 'link',
'output_show_label' => true,
'output_classes' => 'some-class another-one',
);
the_custom_field( 'website_link', null, $website_link_args );
Search and Filtering for WP Job Manager