With the release of version 1.9.1 of the WP Job Manager Field Editor plugin, there is a new shortcode available to use for outputting multiple value field types (multiselect, repeatable, etc).
Below you can find details of this new shortcode, including the available arguments/attributes, and examples of how to use.
[each_custom_field]
This shortcode is meant for outputting any field that has “multiple” values for a single meta key (including resume repeatable fields). The purpose of this shortcode is to allow you to customize how a multiple field value is output, using shortcodes inside a text widget or some other area of your site that supports shortcodes.
Attributes
key
– required the meta key for the field you want to output
listing_id
– optional if you want to output for a specific listing, use this to specify the listing ID, otherwise it will be automatically detected
Interior Shortcodes
Interior shortcodes are shortcodes that can only be used inside of the [each_custom_field]
shortcode. These allow you to output the value of the field (or value of a repeatable sub-field). These shortcodes will not work outside of the [each_custom_field]
shortcode.
[value]
– will output the value of the field in the current loop (of each field value)
[each_custom_field_value]
– used to loop through any resume repeatable field sub-values. This will ONLY work for resume repeatable fields, do not try to use this for any other field type. More details and examples can be found below.
Examples
This is a basic example using job_category
:
[each_custom_field key="job_category"] Category: [value] [/each_custom_field]
You can also combine this with the [if_custom_field]
(documentation) shortcode, to only show content when there is a value for that field (if using HTML does not work, make sure to switch to “text” to prevent editor from converting html thinking you want to “show” the HTML on the output):
[if_custom_field key="job_category"] <ul> [each_custom_field key="job_category"] <li>[value]</li> [/each_custom_field] </ul> [/if_custom_field]
Using with Resume Repeatable Fields
In order to use this shortcode with resume repeatable fields, you must use the [each_custom_field_value]
shortcode mentioned above. This will be used instead of the [value]
shortcode, as resume repeatable fields are stored with a “key” instead of just the value like all other multiple field values are. You will still use the [value]
shotcode to output the actual value, but inside of the [each_custom_field_value]
[each_custom_field key="candidate_education"] [each_custom_field_value key="location"]Location:[value][/each_custom_field_value] [each_custom_field_value key="qualification"]Qualification(s):[value][/each_custom_field_value] [each_custom_field_value key="date"]Start/end Date:[value][/each_custom_field_value] [each_custom_field_value key="notes"]Notes:[value][/each_custom_field_value] [/each_custom_field]
[each_custom_field key="candidate_education"] [each_custom_field_value key="location"]Location:[value][/each_custom_field_value] [each_custom_field_value key="qualification"]Qualification(s):[value][/each_custom_field_value] [each_custom_field_value key="date"]Start/end Date:[value][/each_custom_field_value] [each_custom_field_value key="notes"]Notes:[value][/each_custom_field_value] [/each_custom_field]
When using the [each_custom_field]
to output resume repeatable fields, only the values you specify with the [each_custom_field_value]
will be output. If there is no value for that specific field, nothing will be output (meaning the text inside will only be output when there is a value).
Tips and Tricks
Removing Line Breaks or Excess Spacing
By default when you use shortcodes, or a WordPress editor, it “automatically” adds paragraph tags sometimes to the output, which can result in extra line breaks. If you want to remove this, it’s as easy as just updating your shortcode code to remove the line breaks you have in it. My suggestion is to first make sure it outputs the values you want, then you can remove the line breaks and white space. As example, for the basic example above, to remove the line breaks just change it to this:
[each_custom_field key="job_category"]Category: [value][/each_custom_field]