Note: All code examples on this site are provided for developer reference/guidance only and we cannot guarantee that they will always work as expected. Our support policy does not include assistance with modifying or debugging code from any code examples, and they may be changed or removed if we find they no longer work due to changes in our plugins.
There are three main ways to customise the fields in WP Job Manager;
- For simple text changes, using a localisation file or a plugin such as the Say What Plugin. See Translating WP Job Manager for more information.
- Use a 3rd party plugin such as https://plugins.smyl.es/wp-job-manager-field-editor/ which has a UI for field editing.
- Use the WordPress hooks (filters) which are explained below.
WP Job Manager’s approach to allowing customisation of it’s forms is to use filters. In WordPress, filters essentially allow you to ‘filter’ data through your own custom php functions which return a different ‘filtered’ result. Any custom code can go in your theme functions.php file.
Editing fields on the frontend
Editing job submission fields is possible via the
submit_job_form_fields filter. Adding some code will allow you to edit various fields, or add new ones.
See the below example which demonstrates how to change a field’s label:
View the full list of core fields in this file: https://github.com/Automattic/WP-Job-Manager/blob/trunk/includes/forms/class-wp-job-manager-form-submit-job.php
Editing fields in admin
Fields in admin are of similar structure and can be edited using the ‘job_manager_job_listing_data_fields’ filter. Each field takes a label, placeholder, type and description arguments.
See the below example which demonstrates how to change a field’s placeholder:
View the full list of core fields in this file: https://github.com/Automattic/WP-Job-Manager/blob/trunk/includes/admin/class-wp-job-manager-writepanels.php
Seeing the code in action
See the following tutorial to see this code used: Tutorial: Adding a salary field for jobs.
To remove a field, see this code snippet.