# Introduction

The perfect plugin to manage job openings and applicants on your WordPress site and make hiring a hassle-free experience.

**WP Job Openings plugin is the most simple yet powerful WordPress plugin for setting up a job listing page for a website.**

The plugin is designed after carefully analysing hundreds of job listing layouts and methods. We just picked the best features out of the all and built a plugin that’s super simple to use and extensible to a high performing recruitment tool.

The plugin comes with two layouts – Grid and List which are designed carefully according to the modern design and User Experience principles. Highlight of the plugin is its totally flexible filter options.

### Key Features

* Super Simple and Easy to Set Up and See
* Two Different Modern Layouts
* Clean and User Friendly Designs
* Unlimited Job Specifications
* Unlimited Filtering Options
* Search Option to find jobs
* AJAX Powered Job Listing and Filtering
* Comes with Default Form to Submit Applications
* HR Role for setting up HR user
* Options to Customise Email Notifications
* Custom Email Notification Templates
* Application Listings in Plugin
* Job Expiry Options
* Job posting structured data for better SEO
* Recent Jobs Widget
* WPML Support


# Installation

### Automatic Installation

1. Log in to your WordPress admin panel
2. Navigate to the Plugins menu and click Add New
3. In the search field type “**Wp Job Openings**" and click search plugins
4. Once you find it you can install it by clicking Install Now

### Manual Installation

1. [Download](https://wordpress.org/plugins/wp-job-openings/) the plugin file to your system
2. Upload wp-job-openings.zip to the wp-content/plugins directory to your web server.
3. Activate the plugin from the plugin menu within the WordPress admin.

After activating Wp Job Openings plugin ‘HR Role’ adds to your plugin. HR role will only have the capability to manage all job-related options.


# Shortcodes

The **\[awsmjobs]** shortcode will display the list of job openings you have in your website.

![](/files/Bq22xQQ86JgRVtufwGEc)

### Shortcode Attributes

This shortcode takes the following attributes:

* filters
  * **Description:** Whether to Show or Hide Job filters.
  * **Accepted Arguments:** yes/no (yes – Show filters, no – Hide filters)
  * **Default:** ‘Enable job filters in job listing’ option in Settings
* listings
  * **Description:** Default Number of Job Listings to display.
  * **Accepted Arguments:** Value that is no less than 1.
  * **Default:** ‘Listings per page’ option in Settings.
* loadmore
  * **Description:** Whether to Show or Hide ‘Load more…’ button in Job Listings.
  * **Accepted Arguments:** yes/no (yes – Show button, no – Hide button)
  * **Default:** yes

{% hint style="info" %}
The [**Shortcode Builder**](/settings-pro/shortcodes) in PRO helps you generate job listing shortcodes and supports additional features and shortcodes.
{% endhint %}


# Job Openings Block

The **Job Listings** block is designed to manage and customise the front-end presentation of job posts using the block editor.&#x20;

#### How to Add the Job Listings Block

* Go to **Pages → Add New** (or edit an existing page).
* Click the **“+” (Add Block)** button.
* Search for **“Job Listings”**.
* Select the **Job Listings Block**.
* The block will be added to your page.

<figure><img src="/files/vT2hz4YJ9EhcdvWXpQJy" alt=""><figcaption></figcaption></figure>

#### Block Editor&#x20;

The block editor page offers below configuration sections for controlling the front-end display of job listings.

<figure><img src="/files/bkjol7Y2PoyNwVxDLdNH" alt=""><figcaption></figcaption></figure>

#### Layout Options

The first section is **Layout Options**, which allow users to choose between grid or list views, set the number of jobs displayed per page, and select the preferred pagination type.

<figure><img src="/files/slMpwL5nKaH8ndc3opTS" alt=""><figcaption></figcaption></figure>

#### Search and Filters

The **Search and Filters** section provides options to control the visibility of the search feature and configure which filters are displayed on the front end. Users can also define the search text to be displayed in the search box.

<figure><img src="/files/oksdE59x6YWDVG63mNDq" alt=""><figcaption></figcaption></figure>

#### Job Listing

The **Job Listing** section allows users to hide expired job listings and in the Pro version, hide filled job listings. It also provides options to control which Job Specs are displayed for each job listing, enabling users to select the relevant details shown on the front end.

<figure><img src="/files/2dx4Et8PLitKDJlpxiH6" alt=""><figcaption></figcaption></figure>

#### Pro Feature

The Pro feature provides an option to hide filled jobs, which can be customised through the block editor.

<figure><img src="/files/kzHdvVuibzezc6oclLTy" alt=""><figcaption></figcaption></figure>

#### Job Alert Addon

An option is available to enable or disable the Alert button to show on the front end. This option is displayed in the block editor only when the Job Alert add-on is active.

<figure><img src="/files/f7F137Ggk7mTt3gUTK2w" alt=""><figcaption></figcaption></figure>


# WP Job Openings Pro

## **Intorduction**

**WP Job Openings PRO** is an add-on plugin with a pack of features that makes WP Job Openings a **powerful recruitment tool**.

The plugin helps to reduce the time spent on administrative tasks while hiring, keep track of all applicants, resumes and notes. Engage your candidates more in the process by sending notifications such as welcome and rejection emails.

### Recruit Easier with WP Job Openings PRO <a href="#item-description__recruit-easier-with-wp-job-openings-pro" id="item-description__recruit-easier-with-wp-job-openings-pro"></a>

WP Job Openings PRO or ‘The PRO Pack’ makes the hiring process faster and simpler. Using the plugin you can set up, list and start accepting applications within a matter of minutes.

#### KEY FEATURES <a href="#item-description__key-features" id="item-description__key-features"></a>

* Build your own job application form
* Shortcode Builder
* Shortlist, Reject and Select Applicants
* Rate and Filter Applications
* Custom Email Notifications & Templates&#x20;
* Notes and Activity Log
* Advanced Admin Filters
* Change Strings (In-plugin translation)
* Print Application or Download to PDF
* Export Applications


# Installation

The Pro Pack plugin can be installed like just another plugin in your WordPress website&#x20;

### Installing from WordPress Dashboard

![](/files/WtSI1WNjetFdhqAtYxLx)

1. Download the plugin file (ZIP file) to your system
2. Login to your WordPress dashboard as an admin user
3. Goto your **Plugins > Add New** &#x20;
4. Click on '**Upload Plugin**' button and select the ZIP file (pro-pack-for-wp-job-openings.zip)
5. Click on '**Install Now'** button and activate it

### Manual Installation (Using FTP)

1. Download the plugin file (ZIP file) to your system
2. Upload pro-pack-for-wp-job-openings.zip to the wp-content/plugins directory to your web server.
3. Activate the plugin from the plugin menu within the WordPress admin.

Once activated you will be able to see all the extra options in the plugin settings area of the base plugin WP Job Openings


# Job Openings Overview

![](/files/J7tkahxZskBTf53djm5V)

### Applications Analytics - Widget

![Applications Analytics - Widget](/files/MPe7UTnH9TaYvBazlXQc)

* You can view the applications analytics graph from the overview page. By default, the analytics for the current year is shown.

### Get Started - Widget

![Get Started - Widget](/files/9JjQAA8MMnuojxYxjjuX)

* You can view some quick links regarding the Wp Job Openings plugin.

### Recent Applications - Widget

![Recent Applications - Widget](/files/u8uZMMq3iTMbfEwl2ywI)

* You can view the recent application lists and which job they are applying for.

### Open Positions

![Open Positions - Widget](/files/MbLR3weVKuGzUo9fvdjS)

* You can view current openings listings and job application count.

### Your Listings - Widget

![Your Listings - Widget](/files/pqazBOtFINzCOBllEhMf)

* You can view the job listings and application count.

### Applications Analytics <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">

![Filter by daily](/files/PcGHgj4D931Slb4MLaI6)

![Filter by weekly](/files/J4OAsTcXRjVfH0Ah6Ul3)

![Filter by monthly](/files/i1z9FzjAR1EllgW32f63)

### Applications by Status - Widget <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">

![Applications by status - Widget](/files/tUXDf3gdsJH8PQmclaKx)

<div align="center"><img src="/files/2QA6xz4nxbEk4wHVse15" alt="Applications by status - Widget"></div>


# General

![General Settings](/files/vVXuL4oJiIUcRd6aGtA7)

* **Job Listing Page                      :** Select the page where you want your job listings to be visible to the candidates. After selecting the page a View Page button is visible. Jobs page is the default page.
* **Name of the Company           :** Give the name of your company.
* **HR Email Address                    :** Give the email ID of the HR
* **Timezone                                     :** Select the timezone for job expiration.
* **URL slug                                       :** Enter the URL slug for Job posts.
* **Permalink Structure               :** Setting to remove custom permalink front base.
* **Default ‘No Jobs’ message :** Give the message to be displayed when there are no active job posts.
* **Email digest                               :** By selecting this option will be sent a quick overview of job listings to Hr email every day
* **Jobs Archive                             :** Selecting this option will disable the archive page for Job Openings
* **Featured** **image                        :** Selecting this option can add the image to each job.
* **File** **uploads                               :** Checking this option will affect URLs of all your files uploaded through WP Job Openings Plugin form.
  * The files will not be displayed in Media Library.&#x20;
  * Publicly accessible file URL will be disabled.
  * 'Resume Preview' option will not work anymore (Resume Viewer Addon).
* **Delete data on uninstall       :** Selecting this option will delete all the job listings, applications and configurations from your website after uninstalling the plugin.


# Appearance

### Job Listing Page

![](/files/hpaJY3fdowyyCyT9rPxK)

* **Job Listing Layout Options** : You can select the List view or grid view. This is reflected in the front-end view of the applicants.
  * List View
  * Grid View
* **Number of Columns            :** Select the number of columns to display your job posts.
* **Listings per page                 :** Number of Job listings you want on a page. It can be from one to any number.
* **Pagination Type                   :** You can select the classic or modern pagination.
* **Job Filter Options                :** This feature enables each of the terms under Job Specs to act as filters.
* **Available Filters                   :** You can choose any of the Job specs you want to act as filters.

#### **Other Options:**

* **Job Specs in the Listing    :** Select the job specs you want to show in the job listings.
* **Expired Jobs                        :** Select it if you want to hide expired jobs from candidates viewing your job openings.

### Job Detail Page

![](/files/T33AFo8Xk9hNumvlb2O3)

#### Job detail page layout options

* **Job Detail Page Template  :** There are two available options – Theme Template and Plugin Template.
* **Layout of job detail page    :** You can select one or two columns as you like.
* **Job Specifications               :** Click on any/all three options to customize Job specifications.
  * You can show job specifications,
  * Icons for job specifications
  * Make job specifications clickable in the job detail page.
* **Job spec position                :** You can give it above or below the job description.
* **Other display options**
  * You can customize expired job listings here.
  * You can Hide content of expired listing from job detail page,
  * Block search engine robots to expired jobs and
  * Hide expiry date from the job detail page.


# Job Specifications

![](/files/BgYqxeH3xbg6UtXw1m0y)

* There are 3 default specifications  : Job Category, Job Type and Job Location.&#x20;
  * You can add as many specifications as you like by clicking on the Add New Spec Button and the Key is filled automatically.&#x20;
  * You can select the Icon of your choice from the drop-down menu.
  * To Delete any use Delete button on the right.&#x20;
  * For each specification, you can provide unlimited options by clicking the Enter Key.


# Form

### **General**

<figure><img src="/files/r9WmzWUJeQ6Hl3j4vLN4" alt=""><figcaption></figcaption></figure>

**Form style                                           :** You can select plugin based or theme based form style.

### **Application form options**

* **Supported Upload File Types :** The plugin supports PDF, Doc, Docx, and Rtf formats.
* **GDPR Compliance                    :** Select the checkbox to enable GDPR compliance.
* **Checkbox Text                          :** The default text is “By using this form you agree with the storage and handling of your data by this website.” You can also give your own checkbox text.

### **CAPTCHA**

<figure><img src="/files/qRGpGM80ftNSC4BYZg5k" alt=""><figcaption></figcaption></figure>

The CAPTCHA settings screen lets users select a CAPTCHA provider (reCAPTCHA, hCaptcha, or Turnstile). By default, it is set to **None**, meaning CAPTCHA protection is disabled.

#### **reCAPTCHA**

<figure><img src="/files/QYGzQXfRqEJObUBpaZWp" alt=""><figcaption></figcaption></figure>

To enable **reCAPTCHA**, select the reCAPTCHA option and choose the required type (v2, v2 Invisible, or v3). Enter the Site Key and Secret Key, set a failure message if needed, and optionally enable No-Conflict Mode to prevent conflicts with other CAPTCHA plugins. Save the changes to apply the settings.

#### **hCaptcha**

<figure><img src="/files/smU7T7wHLdQEHAHpfy8D" alt=""><figcaption></figcaption></figure>

To enable **hCaptcha**, select the hCaptcha option, enter the Site Key and Secret Key, and set a failure message if required. You can also enable No-Conflict Mode to prevent conflicts with other CAPTCHA plugins. Save the changes to apply the settings.

#### Cloudflare Turnstile

<figure><img src="/files/XcZ1pub3iQhzl7D7x2vr" alt=""><figcaption></figcaption></figure>

To enable Turnstile, select the Turnstile option, enter the Site Key and Secret Key, and save the changes. The error message and No-Conflict Mode work the same as other CAPTCHA options.


# Notifications

### **General**

You can set-up email notifications for job applicants and as well as notifications to the Admin on receipt of a job application.

#### **Application Received – Applicant Notification**

![](/files/jSrVEb999rWv7v0YZW3R)

#### **Application Received – Admin Notification**

![](/files/TpioWfbYJzX4VO82fH3l)

* You have the option to turn on or off the admin notifications by clicking on the right-side button. You can set up the Subject and Content of the email and save the changes.
* You can customize the email content by copy-pasting the Template Tags on the right side.

### **Customize**

You can customize email HTML templates by changing the logo, base color & footer text.

![](/files/o6iUpydqy853qIvt7frZ)


# Appearance

### Change Strings

* You can easily change the strings.

![Appearance - Change Strings](/files/9LexijsT9BbCWM37YFxb)


# Job Specifications

#### **Admin Filters**

![](/files/WnB3SZVrZTkC9pSJXhjn)

* **Manage Admin Filters                :** This feature enables each of the terms under Job Specs to act as filters.
* **Available Filters                   :** You can choose any of the Job specs you want to act as filters in both admin job listings and admin application listings.


# Form

### **General**

WP Job Openings PRO allows you to replace the existing or in-built job application form with the form generated by external plugins such as Contact Form 7, Gravity Forms, etc. You can add the shortcode generated by these plugins by selecting 'Custom Form' as the 'Default form for new openings' from WP Job Openings Settings > Form > General > Application form options. The above option is also available under each job. So, if you have created a job and published it, it will be given preference instead of a global setting.

<figure><img src="/files/RxCqNgBneJfiHPfgYPbe" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
If you use a custom form using this feature, then the applicants' data will not be accessible for the plugin. Applications will be handled by the form plugin you are using.
{% endhint %}

### **Form Builder**

This Pro feature helps to create multiple forms and customize the job application forms. You can customize the Application form title, description, and form fields using the Form Builder. You can access the Form Builder from Job Openings **Settings > Form > Form Builder**.

<figure><img src="/files/K5etxCTap6HoaV4LWZzo" alt=""><figcaption></figcaption></figure>

#### **Field** **Types**

Field type in form builder is used for defining the html form input controls. Currently, supported field types are given below.

#### > Text <a href="#text-field-type" id="text-field-type"></a>

* Text field type is used for adding default html input text control to the application form.

![](/files/-Mhrzg2pZR5Eswt5W7Nz)

#### **> Email** <a href="#email-field-type" id="email-field-type"></a>

* Email type is used to let the applicant enter the email address before the form submission.

![](/files/-Mhs06gN8oDPaKacBKkw)

#### **> Phone** <a href="#phone-field-type" id="phone-field-type"></a>

* Phone type is used to let the applicant enter their contact number.
* You can enable country-based input for the phone field.

![](/files/ZyViKjy141cKxNiTfIvz)

#### **> Textarea**  <a href="#textarea-field-type" id="textarea-field-type"></a>

* Textarea type are for a multi-line input and accept any form of text.

![](/files/-Mhs-1co1UwJCReZCznv)

#### **> Resume** <a href="#resume-field-type" id="resume-field-type"></a>

* Resume type is used to allow applicants to upload their resumes.

<div align="center"><img src="/files/-Mhs-5_TNUlys1w91maB" alt=""></div>

#### **> Dropdown** <a href="#dropdown-field-type" id="dropdown-field-type"></a>

* Dropdown type is used to let the applicant select at least one option from the menu
* You can add options through the ***Field Options*** box separated by commas.

![](/files/-Mhs-EWN-prHhKUwfaUF)

#### **> Radio** <a href="#radio-field-type" id="radio-field-type"></a>

* Radio type is used to let the applicant select at least one of the buttons.
* You can add more radio buttons through the ***Field Options*** box separated by commas.

![](/files/-Mhs-Jg-OZX6ukpoHFRn)

#### **> Checkbox** <a href="#checkbox-field-type" id="checkbox-field-type"></a>

* Checkbox type is used to let the applicant select more than one option.
* You can add more choices through the ***Field Options*** box separated by commas.

![](/files/-Mhs-NwHdEBxU5P2vU2f)

#### **> Number** <a href="#number-field-type" id="number-field-type"></a>

* Number type is used to let the applicant enter a numerical value.

![](/files/-Mhs-RU-7XNZzRLOw-rx)

#### **> Photo**  <a href="#photo-field-type" id="photo-field-type"></a>

* Photo input type is used to allow applicants to upload their photo

![](/files/-Mhs-WYoW0PujYqPmbly)

#### **> File** <a href="#file-field-type" id="file-field-type"></a>

* File type is used to allow applicants to upload any file attachments
* ***Maximum Files*** option is used to enable multi-file uploading. Increasing the limit to more than one will allow multi-file uploading.

![](/files/-Mhs-bOuMJCOK7X2KrOW)

#### **> Section** <a href="#section-field-type" id="section-field-type"></a>

* Section field is used to group the fields in the job application form.

![](/files/-Mhs-f_adW67k7DTNiBc)

#### **> Date** <a href="#date-field-type" id="date-field-type"></a>

* The date field is used to let the applicant pick the date in the application form.

![](/files/-MeUYZPBoXQpucK1rIYy)

#### **Field Options**

**Label:** Label in form builder is used for changing the label associated with each application form field.

**Placeholder:** Used to specify a short hint that describes the expected value of the field. Available field types: Text, Email, Number, Phone, and Textarea.

**Required Field:** Make the field type required by clicking the ***Required Field*** checkbox. The default name text field and email field can't be made optional with this option. Both these fields are required for the working of the application flow. Hence these fields are super-fields.

**Template Tag:** The tag to be used in the notification emails. This tag will be automatically pre-filled when the mail is sent. Available field types: Text, Email, Number, Phone, Date, Textarea, Dropdown, Radio, and Checkbox.

**Attach the file with email notifications:** You can attach the file to the notification email by clicking the  ‘Attach the file with email notifications’ option. Available field types: Resume, Photo, and File.

**Allowed File Types:** The comma-separated list of supported file types. Available field types: Resume, Photo, and File.

**Maximum File Size:** Maximum allowed file size for upload in megabytes. Available field types: Resume, Photo, and File.

**Enable drag and drop file upload:** This option will enable a drag and drop interface for file uploading instead of the default file field generated by the browser. This is useful when you want an easy and standard interface for file upload in all the browsers. Available field types: Resume, Photo, and File.

<div align="center"><img src="/files/-MhrpQyyqua8h1-nhdXF" alt="(Drag and Drop Interface Example)"></div>


# Notifications

### **Templates**

Other than the applicant's default notification mail template, you can create multiple mail templates for the applicant from the 'Templates' settings. Subject and the mail content added in these templates will be automatically pre-filled when you choose the required 'Email template' from the 'Emails' section in the [application edit screen](/applications/edit-application#mailing-the-candidates).

![](/files/8DiU0UL7PUSm2rYZK8EC)

* Give a Template Name, Subject and Content of your choice.&#x20;
* You can generate content by copy pasting from Template Tags.&#x20;
* You can add as many templates as you like by adding New Templates.&#x20;


# Shortcodes

The shortcode builder helps you generate job listing shortcodes and supports additional features and shortcodes.

### General

From the general subtab, the job listing shortcode can be generated. It helps you to generate the listing shortcode based on different parameters.

* **Filtered list of jobs** - Useful if you want to filter the listing by specifications.
* **Order by** - This option supports ordering the job listing by Date (default), ID, Modified Date, Post Slug, Random, and the Title.

![](/files/UWicFYBI4ISX6vyGfHnU)

### Form

By default application form is auto-generated for each job. But, to display the job application form that works on any page other than the job detail page, even if you don't have job openings at the moment, you can use this feature, and if you are working with some theme builders, then you may want to customize the job detail page by add this shortcode to the job page without a job id.

![](/files/4kGnsgypwWoOC3MBzvs0)

### Job Specs

If you want to display only the job specs on your site select a job from the dropdown and generate a shortcode and copy the generated shortcode and paste it into the page where you want to show

![](/files/fOdXdQ3FkGvs9GkM4UZO)

### Job Stats

To display the job count on your site select one of the options that are given below and generate a shortcode and copy the generated shortcode and paste it into the page where you want to show.

![](/files/MEeCpbdaZHH3rdoLtDdd)


# Advanced

Advanced settings to manage application status with the option to send notification automatically on status change

![](/files/A8ynT7hDHSKXjCfhqkfe)


# Add New Openings

### Enter job title and description

![(Classic editor)](/files/-MHuKEp54UHyXeMQJ5z6)

![(Block editor)](/files/dIrYyVwp12O2c4XzgUVq)

Type the Title of the job and give a brief description of the job you want to post.

### Add specifications

![](/files/-MHuOZt14c0wrZ7Fj1Qe)

* You can add job specifications to the post and you can manage specifications from the settings page
* There are 3 default job specifications
  * Job Category
  * Job Type
    * Full Time
    * Part-Time
    * Freelance
  * Job Location

### Add expiry date

![](/files/-MHuMVItbM93fm3S1A7d)

* You can give expiry date for the job listing
* If you want to display expiry date to the applicant then click the ‘Display expiry date’  option

### Make your job opening live

![](/files/-MHuN8H3my06XHrqwng8)

### CC Email Notifications <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">

![](/files/AfPQwmEY5YlODqTmYyC0)

You have the 'CC Email Notifications' meta box available for each job. There you can set up emails. A copy of notifications for each job application will be sent to these emails you submit.

### Job Display Options<img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">

![](/files/vQ02Igq6XIpy3F4mxRWn)

* If you want to create a form that works without job openings. You can do this by generating the application form shortcode for a job by excluding the same from the job listing.
  * Please go to Job edit Page and check the "**Exclude this From Job Listing**" option under Job Display Options. If you check this option the related job will be excluded from the job listings.
  * if check the checkbox '**Position Filled**' then the job is filled/not accepting any more applications.
  * Go to Wp Job Openings Settings -> Shortcodes -> Form. Select a job that you exclude in the listings then click Generate Shortcode and copy the generated shortcode and paste the shortcode into the page that you want to display the form.
* You can disable the application form for each job. Under the '**Job Display Options'** section, you can disable the form under the Application Form option and after creating the forms, you can assign the form from '**Job Display Options**'.


# Job Listings

![(Grid View)](/files/Bq22xQQ86JgRVtufwGEc)

![(List View)](/files/dUlW1Ca76NTNKSqey6b4)

* \[awsmjobs] The shortcode will display the list of job openings you have in your website.
* You can filter jobs on the basis of available job specs on your website
* Pre-filter jobs with an external link.
* You can also search jobs.


# Job Listings – Admin

![Job Listings - Admin](/files/kL3PjbEZ8jPcn6hvgxOW)

* You can view the job listings, job id, number of applications for each job, expiry date, views of jobs, and conversion ratio ( Number of Applicants/Number of Viewers\*100 ).

### Job Listings - Admin <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">

![Job Listings - Admin (PRO)](/files/C1Iw0c0OhQSI2jzf24ve)

* You can choose any of the Job specs you want to filter job openings and you can also filter jobs by filled and not filled.


# Customizing templates of your Job Listings

Template customization is useful when you want to add some additional features to our plugin without modifying the existing source code. This is the recommended method for plugin customization instead of editing the source code. This way you can also update the plugin without any issues when feature updates are available for the plugin.

**There are mainly two ways to customize the templates available in WP Job Openings.** The first method is useful when you want to customize the template according to your theme or you as a developer needs complete control over the template. The second method is useful when you just want to add some additional content such as custom fields content.

### 1. Override Template

Templates can be full templates or partial templates. If the customization needs to be done in a partial template, then there is no need to override the full template. You can use partial template overriding.

The plugin template files are available from ‘wp-content/plugins/wp-job-openings/inc/templates/’ directory.

#### 1.a. Override Job Listing Template

There are mainly two template files that control the job listing template: ‘job-openings-view\.php’ and ‘job-openings/main.php’. The first one is the full template file and the second being the partial template file.

You can override these templates by following the below instructions:

1. Go to your current theme folder(we recommend child theme) and create a folder named ‘wp-job-openings’ (if not exist). For example, if your main theme is ‘Twenty Twenty’ theme, then create a child theme for ‘Twenty Twenty’ theme (twentytwenty-child). The instructions for creating a child theme is available from here: <https://developer.wordpress.org/themes/advanced-topics/child-themes/>. Then, inside the ‘twentytwenty-child’ folder add ‘wp-job-openings’ folder.
2. If you only need to change the full template file, then copy the job-openings-view\.php template from the plugin template directory and paste this in the ‘wp-job-openings’ folder from step 1.
3. If you only need to change the partial template file. Then, create a subfolder ‘job-openings’ inside the ‘wp-job-openings’ directory from step 1. Now, the directory will be ‘wp-content/themes/twentytwenty-child/wp-job-openings/job-openings/’.
4. Then, copy the ‘main.php’ template from the plugin template directory and paste this in the folder from step 3.
5. After that, you can start customizing the template in the child theme.

#### 1.b. Override Job detail Page Template

1. Go to **WP Job Openings Settings > Appearance > Job Detail Page**. Then select, Job detail page template as Plugin Template. Then click Save Changes.
2. Go to your current theme folder(we recommend child theme) and create a folder named ‘wp-job-openings’ (if not exist). For example, if your main theme is ‘Twenty Twenty’ theme, then create a child theme for ‘Twenty Twenty’ theme (twentytwenty-child). The instructions for creating a child theme is available from here: <https://developer.wordpress.org/themes/advanced-topics/child-themes/>. Then, inside the ‘twentytwenty-child’ folder add ‘wp-job-openings’ folder.
3. After that, copy the single-job.php template from WP Job Openings plugin template directory (wp-content/plugins/wp-job-openings/inc/templates/single-job.php). Then, paste this in the directory from step 2. After that, you can start customizing the template.
4. You can follow the above steps for customizing all other templates. You can even customize the form layouts!

### 2. Use Hooks

Hooks are a way for one piece of code to interact/modify another piece of code at specific, pre-defined spots. Learn more about hooks from here: <https://developer.wordpress.org/plugins/hooks/>

There are many hooks available in WP Job Openings plugin for template customization. If you just want to add some additional contents such as custom fields contents in the plugin template there is no need to override the entire template if the hooks are available within the template.

**Example:**

Requirements: Knowledge in creating the custom field with ACF Plugin(<https://www.advancedcustomfields.com/>)

Imagine you have created a custom field named ‘Company Name’ (company\_name) in ACF.

![](/files/-MHua9hQtrttK9z2IDuJ)

If you want this value to be displayed in job listing after the job title, then, you can easily use the below snippet in your theme functions.php file. We recommend the child theme’s functions.php file.

```php
/**
* Add company name to job listing below the job title.
*/
function awsm_jobs_company_name_in_listing() {
    $company_name = get_field( 'company_name' );
    if ( ! empty( $company_name ) ) {
        printf( '%s', esc_html( $company_name ) );
    }
}
add_action( 'after_awsm_jobs_listing_title', 'awsm_jobs_company_name_in_listing' );
```

Result:

![](/files/-MHub1Xe-wAUmOyauonB)

In the same way, you can use other hooks available within the template files to add additional features.

{% hint style="info" %}
Learn more about the supported job listing hooks: [Job Listing](/developers/hooks/actions/job-listing)
{% endhint %}


# Application Listings

![Application Listings](/files/BiPGDdOwA65lojLtYVSg)

* You can view all the applications received, the job they applied for, and the date they applied.
* Click on the Applicant Name to view more detail.
* You can filter applications by jobs.

### Application Listings <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">

![](/files/nUqDhUtaDKndV2aA4kub)

* You can filter the list of applications by choosing any Job Specs.
* You can view the status and rating of applications in admin lists.


# View Application

### **Application View**

![Application Details](/files/QRb3TGjSAJGY58qb1tOm)

* You can view the applicant details and you can download the resume.

### Job Details

![Job Details](/files/Lo9WMj8lw4HWkODIn07P)

###

* You can view the details of the applied job and navigate to the next applications.

### Application Actions <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">&#x20;

![Application Actions](/files/o6nolrOAZr6bJ4sA1ZY8)

* Application status can be changed on the right side to New, In Progress, Shortlisted, Rejected, or Selected.&#x20;
* You can also rate them by clicking on the stars.

### **Application Notes** <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">&#x20;

![Application Notes](/files/-MI4VwyvQlG6xYus5Om4)

* You can make a note of the things you want to remember about the candidate - like if he is suitable for another post or if he is overqualified, etc.

### **Mailing the candidates** <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">&#x20;

**Compose Mail**

![Compose Mail](/files/SnkfMxGH3scakoYBMp8R)

* To mail the applicants, you can select any Email template you have created in the Templates option in the Settings -> Notifications -> Templates tab.

**Sent Mail**

![Sent Mail](/files/-MI4aoXuuO6zlNtgEMxS)

* Shows all the emails you have sent to the candidate

### **Activit**y **Log** <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">&#x20;

![Activity Log](/files/-MI4bojefC1p7WkD3xih)

You can view a log of the applications.


# Spam Protection

If you want to reduce spam or automated bots, then you can automatically block them with WP Job Openings. WP Job Openings supports **reCAPTCHA** and **Akismet** which is very helpful for preventing spam. WP Job Openings PRO supports reCAPTCHA v3 also, which validates the user by a score based on the user actions on your site.

You can configure it from the settings:

* **Akismet:** WP Job Openings Settings -> Form -> General.

{% hint style="info" %}
The option to enable the Akismet anti-spam protection will only be shown when the Akismet plugin is active on your site.
{% endhint %}

![Akismet settings](/files/arlWABQS3XMsDgvHuQzd)

* **reCAPTCHA**: WP Job Openings Settings -> Form -> reCAPTCHA.

![reCAPTCHA settings](/files/rOUmCS4LWiybZNzKPWW5)


# Export Applications

* You can export the applications based on two options – job listing & application form.

### Job Listing

![Job Listing](/files/Z962H5mziXD1hjx8fN65)

### Application Form

![Application Form](/files/68Oc3DcWq6mZ2oaZpCcx)

* You can filter job applications by selecting a job.
* You can filter job applications by selecting application status.
* You can filter job applications by setting a date range.


# Recent Jobs Widget

#### Recent Jobs Widget

![Recent Jobs Widget](/files/-MHubnxFJmkQxfLbLdrZ)

* Awsm Recent Job which displays your latest job listings on your website.

#### Widget Settings

![Widget Settings](/files/-MHuciYzm7RDd1xj8jKy)

* You can give the title to the widget
* Number of jobs want to display in the listings
* Check if you want to display job specifications on your listings
* Check if you want to display the ‘More Details’ link on your listings


# Job Overview Dashboard Widget

* From the dashboard, you can get a quick overview of job openings and applications.

![Dashboard Widget](/files/pa1CZIuphUcsF0TYnddc)

* You can view the count of active jobs, the count of recent applications, and the total applications count.
* You can view the list of recent active jobs and their related applications link and there are quick links to job listings and application listings.


# User Access Control Add-on

## Introduction

The **User Access Control for WP Job Openings** is a powerful user management Add-on that allows you to manage the capabilities of users managing the recruitment in the recruitment CRM.

\
Requires:

* [Wp Job Openings](https://wordpress.org/plugins/wp-job-openings/) 1.0+

### **Key Features**

* Create new user roles and edit capabilities as you need to control the access within WP Job Openings
* Edit the capabilities of the existing **HR** role
* Restrict user access to own job listings and applications
* Restrict user access by Job Specifications

<br>


# Installation

The Pro Pack plugin can be installed like just another plugin in your WordPress website&#x20;

### Installing from WordPress Dashboard

![](/files/WtSI1WNjetFdhqAtYxLx)

1. Download the plugin file (ZIP file) to your system
2. Login to your WordPress dashboard as an admin user
3. Goto your **Plugins > Add New** &#x20;
4. Click on '**Upload Plugin**' button and select the ZIP file (user-access-control-addon-for-wp-job-openings.zip)
5. Click on '**Install Now'** button and activate it

### Manual Installation (Using FTP)

1. Download the plugin file (ZIP file) to your system
2. Upload user-access-control-addon-for-wp-job-openings.zip to the wp-content/plugins directory to your web server.
3. Activate the plugin from the plugin menu within the WordPress admin.

Once activated you will be able to see all the extra options in the plugin menu of the base plugin WP Job Openings


# Settings

### Roles

![Roles List](/files/ogLM7Z6bg7p0k3jxVfWW)

### Edit a role

![Add new role](/files/2qDOKGhsLuFVcDuCwhRM)

### Advanced

![Advanced Settings](/files/5DVW3nIuUhCM4SpnoM9L)

* **Access by Job Specifications  :** If this option is enabled, you can find an added option on the user edit page to select job specification values to restrict the users to. You can use this option to limit individual users’ access to job listings of job specification chosen values.
* **Job Specifications :** Select the relevant specifications to be enabled in the user edit screen.


# Tutorial

### Customize HR role

![Edit HR role](/files/Pp8pCtEtfgg6Zwi2CQ8a)

![Manage Capabilities](/files/vQLwiNO74gCwVnx5cHcv)

* Click on edit a role. Capabilities lists will open&#x20;
* For example, uncheck one of the capabilities of the HR role \[Access WP Job Openings Settings (manage\_awsm\_jobs)].

![HR Login](/files/vQXENLOsjgoXJ5Co6Jpr)

* You can see that the HR cannot have access to wp job openings settings.

### Add new role

![Add new role](/files/5GAt55YRuItN2wgmNf1k)

* You can add a new role by clicking the new role button

![Add new role](/files/ieE5JBQbtL05S9mPyc8p)

* **Role Name** : You can give the name of the role.
* **Manage Capabilities** : You can select the needed capabilities for the role.
* **Access Restrication** : Select this option to restrict access of job listings and applications only to the job posted by the user.

![New role](/files/2bHQvRbn5ICQbQfTgs5v)

* Now you can see that a new role is created and listed in the table.


# Job Alerts Add-on

## Introduction

<figure><img src="/files/NDgR2e05RdrO4g49nbB8" alt=""><figcaption></figcaption></figure>

The **Job Alerts for WP Job Openings** is a service that notifies subscribers about new job opportunities based on their preferred search terms. It allows users to receive daily alerts containing relevant job listings, ensuring that they stay updated with the latest opportunities in their desired fields.

### **Requires**

* [WP Job Openings](https://wordpress.org/plugins/wp-job-openings/) 1.0+

### **Key Features**

* Automated daily email notifications for new job openings
* Subscription form with a dedicated button and customizable placement options
* Option to choose job specifications for personalized notifications
* Flexible placement as popups, in sidebars, footers, or within pages
* Admin control to enable or disable job specification selection
* Subscriber management with detailed job specification records and email logs
* Customizable email template to match your brand


# How it works

As soon as the plugin is activated, the button to trigger the Job Alerts Subscription form. On clicking, the popup will open up.&#x20;

<figure><img src="/files/gHzgJAEL3ddeio3dpr00" alt=""><figcaption></figcaption></figure>

<br>

<figure><img src="/files/Udv7gC8UhaFN7AuVZBpz" alt=""><figcaption><p>Job Alerts Popup</p></figcaption></figure>

The popup can be completely customized from the settings of Job Alerts.&#x20;


# Job Alerts Block

Job Alerts Addon comes with a dedicated Gutenberg block which you can use to place the form anywhere on your website as you require &#x20;

<figure><img src="/files/pNU1a921FjpoRUL25wTm" alt=""><figcaption></figcaption></figure>

You can easily change the text and enable or disable the job spec fields from the block settings. &#x20;

<figure><img src="/files/glmbQ5hB5O0BZG2IQAGR" alt=""><figcaption></figcaption></figure>


# Job Alerts Emails

### When Would Subscribers Recieve the Alerts?

The alerts are configured to be sent out to the subscribers once in 24 hours when the crone job of your WordPress site executes. The plugin aggregates all the jobs published within the interval for each subscriber based on their preferred job specifications selected when they subscribed and sends them out as one email with all of them in a list-style layout.&#x20;

&#x20;

<figure><img src="/files/WdxvJrg4AovKlb6faZaC" alt=""><figcaption></figcaption></figure>

The style of the email is adapted from the default Email template configuration from WP Job Openings plugin.&#x20;

Content of the email notification can be customized from Job Alert's settings.&#x20;

### Email Delivery FAQ

<details>

<summary>How is email delivery handled by Job Alerts for WP Job Openings?</summary>

Job Alerts for WP Job Openings relies on the email delivery configuration set up for your WordPress site. It utilizes the existing email settings you have configured, ensuring that job alert emails are sent through your site's chosen email delivery method.

</details>

<details>

<summary>What if I don't have an email delivery configuration set up for my WordPress site? </summary>

If you haven't set up email delivery configuration for your WordPress site, it's important to configure it to ensure proper delivery of job alert emails. Without a configured email delivery method, the plugin won't be able to send emails to subscribers.

</details>

<details>

<summary>How can I set up email delivery configuration for my WordPress site? </summary>

To configure email delivery for your WordPress site, you can follow these general steps:

1. Install and activate an SMTP (Simple Mail Transfer Protocol) plugin from the WordPress Plugin Directory.
2. Configure the SMTP plugin with the necessary settings, including the SMTP host, port, username, password, and encryption method. These settings are typically provided by your email service provider or hosting company.
3. Test the SMTP settings to ensure that emails can be sent successfully from your WordPress site.
4. Once the SMTP plugin is set up and working correctly, Job Alerts for WP Job Openings will utilize these email delivery settings to send job alert emails to subscribers.

</details>

<details>

<summary>Are there any recommended SMTP plugins for configuring email delivery? </summary>

There are several SMTP plugins available in the WordPress Plugin Directory that can help you configure email delivery for your site. Some popular options include WP Mail SMTP, Easy WP SMTP, and Post SMTP. These plugins provide easy-to-use interfaces for setting up and managing your email delivery settings.

</details>

<details>

<summary>Why is using an SMTP service recommended?</summary>

Integrating an SMTP service with your WordPress site offers several benefits. It improves email deliverability, avoids potential spam filters, and enhances the reliability of email communication. SMTP services are specifically designed to handle email delivery efficiently, ensuring that job alert emails reach your subscribers' inboxes reliably.

If you have any further questions or encounter issues with email delivery, our support team is always available to assist you in configuring your email delivery settings for optimal performance with Job Alerts for WP Job Openings.

</details>


# Installation

The Job Alert plugin can be installed like just another plugin in your WordPress website&#x20;

### Installing from WordPress Dashboard

<figure><img src="/files/WtSI1WNjetFdhqAtYxLx" alt=""><figcaption></figcaption></figure>

1. Login to your WordPress dashboard as an admin user
2. Goto your **Plugins > Add New**&#x20;
3. Click on '**Upload Plugin**' button and select the ZIP file (job-alerts-for-wp-job-openings.zip)
4. Click on '**Install Now'** button and activate it

### Manual Installation (Using FTP)

1. Download the plugin file (ZIP file) to your system
2. Upload job-alerts-for-wp-job-openings.zip to the wp-content/plugins directory to your web server.
3. Activate the plugin from the plugin menu within the WordPress admin.

Once activated you will be able to see all the extra options in the plugin menu of the base plugin WP Job Openings


# Settings

The settings page of Job Alerts can be accessed from the WordPress dashboard at <mark style="background-color:yellow;">**Job Openings > Job Alerts**</mark>

<figure><img src="/files/ygZHQUeMclfqCUVEdXU5" alt=""><figcaption></figcaption></figure>

In the settings page, under the first tab, you can find the list of your Job Alerts subscribers along with the Job specifications they have selected, subscribed date and time, and a link to view all the alerts sent to each subscriber.

### **List of Subscribers**&#x20;

<figure><img src="/files/hKoFv0wmunQHWewZe9bb" alt=""><figcaption></figcaption></figure>

### View Sent Alerts

The View Sent Alerts window will show you all the subscriber details and list of all the alerts sent to them.

<figure><img src="/files/Qt9EZtgJy9TK9Z6VF3Bj" alt=""><figcaption></figcaption></figure>


# Appearance

In the Appearance tab, you can change the default text of the subscription form, select the Job Specification dropdowns to display along with the form, and a checkbox to enable and disable to the Job Alerts button in the default job listing.

<figure><img src="/files/X3T9yQywvuKP7Srf0Ehj" alt=""><figcaption></figcaption></figure>


# Shortcode Generator

In addition to having the default Job Alerts popup and a Gutenberg blog, the Job Alerts addon comes with a shortcode generator interface which you can use to generate a customized job alerts form shortcode which you can use to add the form anywhere on your website&#x20;

<figure><img src="/files/lGnwl15GhhYBNCmerLgX" alt=""><figcaption></figcaption></figure>


# Email Settings

You can use this interface to customize the content of job alert emails delivered to the subscribers. A list of template tags can be found in the right-hand side widget. You can also send test job alerts to check how it would look in your inbox.

<figure><img src="/files/35dD8BXeECiGt5ZRKpt8" alt=""><figcaption></figcaption></figure>


# Docs Viewer Add-On for WP Job Openings

## Introduction

The plugin will add a preview of the uploaded resume in the applicant detail page of [WP Job Openings](https://wordpress.org/plugins/wp-job-openings/) Plugin. You need not download the uploaded resume anymore! Powered by Google Docs Viewer.

The plugin will allow you to view uploaded applicant resume from the admin panel of WP Job Openings Plugin.

Requires:

* [WP Job Openings](https://wordpress.org/plugins/wp-job-openings/) 1.0+

**Key Features**

* Supports Microsoft Word (DOC,DOCX) and PDF files
* Previews the document along with the application view.
* Powered by Google Docs Viewer

## Installation

### Automatic Installation

1. Log in to your WordPress admin panel
2. Navigate to the Plugins menu and click Add New
3. In the search field type “**Docs Viewer Add-On for WP Job Openings**" and click search plugins
4. Once you find it you can install it by clicking Install Now

### Manual Installation

1. [Download](https://wordpress.org/plugins/docs-viewer-add-on-for-wp-job-openings/) the plugin file to your system
2. Upload docs-viewer-add-on-for-wp-job-openings.zip to the wp-content/plugins directory to your web server.
3. Activate the plugin from the plugin menu within the WordPress admin.

![Application detail page with The Docs Viewer Resume Preview](/files/-MI4xbaWKafyXPfGUdfq)


# Auto Delete Applications – Add-on for WP Job Openings

## Introduction

This is an add-on for WP Job Openings Plugin, which will let you delete the received applications periodically. The plugin will let you specify a time for deletion. Once the feature is activated, job applications after the selected time period from the date of application will be deleted automatically from your website.

The plugin is designed to safeguard the personal information and data of the job applicants. The option that enables auto delete applications will be available in the WP Job Openings plugin’s general settings page.

Requires:

* [WP Job Openings](https://wordpress.org/plugins/wp-job-openings/) 1.4+

**Key Features**

* This add-on will help website admins to stick on to the GDPR law where websites are required to delete the user’s or visitor’s personal data within six months.
* Option to choose the time period for keeping the applications.

#### Summary

This is essentially an add-on for WP Job Openings plugin. It will auto-delete all applications and related information (for example, resume, other files from WP Job Openings Pro) and keep only the needed info up to a certain period based on the plugin settings.

## Installation

### Automatic Installation

1. Log in to your WordPress admin panel
2. Navigate to the Plugins menu and click Add New
3. In the search field type “**Auto Delete Applications – Add-on for WP Job Openings**" and click search plugins
4. Once you find it you can install it by clicking Install Now

### Manual Installation

1. [Download](https://wordpress.org/plugins/auto-delete-applications-add-on-for-wp-job-openings/) the plugin file to your system
2. Upload auto-delete-applications–add-on-for-wp-job-openings.zip to the wp-content/plugins directory to your web server.
3. Activate the plugin from the plugin menu within the WordPress admin.

![](/files/-MI4z86MEvGT5PESK3Tu)


# Hooks

Hooks are a way for one piece of code to interact/modify another piece of code at specific, pre-defined spots. Learn more about hooks from here: <https://developer.wordpress.org/plugins/hooks/>

There are many hooks available in WP Job Openings plugin for template customization. If you just want to add some additional contents such as custom fields contents in the plugin template there is no need to override the entire template if the hooks are available within the template.

{% content-ref url="/pages/-MR0\_cGs2XC9hBFNO4RL" %}
[Actions](/developers/hooks/actions)
{% endcontent-ref %}

{% content-ref url="/pages/-MR1-J98hUTjOz7S6YYX" %}
[Filters](/developers/hooks/filters)
{% endcontent-ref %}

<br>


# Actions

There are many action hooks available in WP Job Openings plugin. Action hooks allow you to perform additional actions when an event takes place.

{% content-ref url="/pages/-MR0TZU6WR5LwgFWKFaa" %}
[Application Actions](/developers/hooks/actions/application-actions)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0TJjaXlPxk95jl6-G" %}
[Application Details](/developers/hooks/actions/application-details)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0a22tcuF5DlPTcrGF" %}
[Application Form](/developers/hooks/actions/application-form)
{% endcontent-ref %}

{% content-ref url="/pages/-MSWXaeIpUlJPMFL9Rqf" %}
[Application Submission](/developers/hooks/actions/application-submission)
{% endcontent-ref %}

{% content-ref url="/pages/-MSWUPGc7nXg6sOsgehe" %}
[Email](/developers/hooks/actions/email)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0ThpWPsEW8g992SoR" %}
[Job Expiry](/developers/hooks/actions/job-expiry)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0QBJ\_pY4baHXBrdI0" %}
[Job Listing](/developers/hooks/actions/job-listing)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0TzuWKaJO94sCbk\_j" %}
[Job Specifications](/developers/hooks/actions/job-specifications)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0WsXKJpDEu6bbE9Be" %}
[Job Status](/developers/hooks/actions/job-status)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0SigrBetsvG4NiO1U" %}
[Settings](/developers/hooks/actions/settings)
{% endcontent-ref %}

{% content-ref url="/pages/-MR0vAYZsM3BPJeQsHO-" %}
[Widget - Recent Jobs](/developers/hooks/actions/widget-recent-jobs)
{% endcontent-ref %}


# Application Actions

### **`before_awsm_job_applicant_mb_actions`**

Fires before applicant meta box actions.

This hook is available since Version 1.6.0

#### **Parameters**

* **$application\_id**

  (int) The current application ID.

#### **Source code**

File: *`admin/templates/meta/applicant-single.php`*

### **`after_awsm_job_applicant_mb_actions`**

Fires before applicant meta box actions.

This hook is available since Version 1.6.0

#### **Parameters**

* **$application\_id**

  (int) The current application ID.

#### **Source code**

File: *`admin/templates/meta/application-actions.php`*


# Application Details

### **`awsm_job_applicant_mb_init`**

Initialize applicant meta box.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current application ID.

#### **Source code**

File: *`admin/templates/meta/applicant-single.php`*

### **`after_awsm_job_applicant_mb_photo`**

Fires after applicant photo content

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current application ID.

#### **Source code**

File: *`admin/templates/meta/applicant-single.php`*

### **`before_awsm_job_applicant_mb_details_list`**

Fires before applicant details list.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current application ID.

#### **Source code**

File: *`admin/templates/meta/applicant-single.php`*

### **`after_awsm_job_applicant_mb_details_list`**

Fires after applicant details list.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current application ID.

#### **Source code**

File: *`admin/templates/meta/applicant-single.php`*


# Application Form

### `awsm_application_form_init`

Initialize job application form.

#### Source code

File: *`/inc/class-awsm-job-openings-form.php`*

### `before_awsm_application_form`

Fires before awsm application form.

#### Source code

File: *`/inc/templates/single-job/form.php`*

### `awsm_application_form_description`

For adding any addition form related information.

This hook is available since Version 1.3.0

#### Source code

File: *`inc/templates/single-job/form.php`*

### `awsm_application_form_field_init`

Initialize job application form fields.

#### Source code

File: *`inc/templates/single-job/form.php`*

### `after_awsm_application_form`

Fires after awsm application form.

#### Source code

File: *`inc/templates/single-job/form.php`*

### `awsm_jobs_captcha_failed`

Fires when CAPTCHA verification fails. Use this to log failures or implement custom error handling.

This hook is available since Version 3.6.0

#### **Parameters**

* **$captcha\_type**\
  (string) The CAPTCHA type
* **$error\_codes**\
  (array) Provider-specific error codes
* **$token**\
  (string) The response token
* **$result**\
  (array) Raw verification response array

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*


# Application Submission

### **`awsm_job_application_submitting`**

Fires before job application submission.

This hook is available since Version 1.2.0

#### Source code

File: *`/inc/class-awsm-job-openings-form.php`*

{% hint style="info" %}
**Code Snippets:** [**Limit the File Upload Size**](/developers/code-snippets/limit-the-file-size)
{% endhint %}

### **`awsm_job_application_submitted`**

Fires after successful job application submission.

This hook is available since Version 1.2.0

#### Parameters

* **$application\_id**

  (string) New application ID.

#### Source code

File: *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_application_form_notices`**

Display messages when job application is submitted.

#### Source code

File: *`/inc/templates/single-job/main.php`*


# Email

### `awsm_job_applicant_mail_sent`

Fires when applicant notification mail is successfully sent.

This hook is available since Version 1.4.0

#### Parameters

* **$applicant\_details**

  (array) An array containing the applicant details.

#### Source code

File: *`/inc/class-awsm-job-openings-form.php`*

### `awsm_job_applicant_mail_failed`

Fires when applicant notification mail is failed to send.

This hook is available since Version 1.4.0

#### Parameters

* **$applicant\_details**

  (array) An array containing the applicant details.

#### Source code

File: *`/inc/class-awsm-job-openings-form.php`*

### `awsm_job_admin_mail_sent`

Fires when admin notification mail is successfully sent.

This hook is available since Version 1.4.0

#### Parameters

* **$applicant\_details**

  (array) An array containing the applicant details.

#### Source code

File: *`/inc/class-awsm-job-openings-form.php`*

### `awsm_job_admin_mail_failed`

Fires when admin notification mail is failed to send.

This hook is available since Version 1.4.0

#### Parameters

* **$applicant\_details**

  (array) An array containing the applicant details.

#### Source code

File: *`/inc/class-awsm-job-openings-form.php`*


# Job Expiry

### **`awsm_job_expiry_mb_init`**

Initialize job expiry meta box.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current job ID.

#### **Source code**

File: *`admin/templates/meta/job-expiry.php`*

### **`before_awsm_job_expiry_mb_content`**

Fires before job expiry meta box content.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current job ID.

#### **Source code**

File: *`admin/templates/meta/job-expiry.php`*

### **`after_awsm_job_expiry_mb_content`**

Fires after job expiry meta box content.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current job ID.

#### **Source code**

File: *`admin/templates/meta/job-expiry.php`*


# Job Listing

### **`before_awsm_jobs_main_content`**

This action hook is fired before the WP Job Openings generated content. This hook is applicable to both single job listing and job listing archives.

This hook is available since Version 1.1.0

#### Source code

File: *`inc/templates/archive-job.php, inc/templates/single-job.php`*

### **`after_awsm_jobs_main_content`**

This action hook is fired after the WP Job Openings generated content. This hook is applicable to both single job listing and job listing archives.

This hook is available since Version 1.1.0

#### Source code

File: *`inc/templates/archive-job.php, inc/templates/single-job.php`*

### **`before_awsm_jobs_listing`**

Fires before The Loop to query for jobs

This hook is available since Version 1.1.0

#### Source code

File: *`inc/templates/job-openings-view.php`*

### **`after_awsm_jobs_listing`**

Fires after the jobs listing

This hook is available since Version 1.1.0

#### Source code

File: *`inc/templates/job-openings-view.php`*

### **`awsm_filter_form`**

Display filter form for job listings.

#### Parameters

* **$shortcode\_atts**

  (array) An array containing the shortcode attributes.

#### Source code

File: *`/inc/templates/job-openings-view.php`*

### **`before_awsm_jobs_single_loop`**

Fires before The Loop to query for single job listing

This hook is available since Version 1.1.0

#### Source code

File: *`inc/templates/single-job.php`*

### **`before_awsm_jobs_single_content`**

Fires before the job single content.

This hook is available since Version 1.1.0

#### Source code

File: *`inc/templates/single-job.php`*

### **`after_awsm_jobs_single_content`**

Fires after the job single content.

#### Source code

File: *`inc/templates/single-job.php`*

### **`after_awsm_jobs_single_loop`**

Fires after loop.

#### Source code

File: *`inc/templates/single-job.php`*

### **`before_awsm_jobs_listing_loop`**

Fires before the loop to query for jobs.

#### Source code

File: *`inc/templates/job-openings/main.php`*

### **`before_awsm_jobs_listing_left_col_content`**

Fires before jobs listing left column content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

{% hint style="warning" %}
This hook has been deprecated since version 3.0.0. Use ***before\_awsm\_jobs\_listing\_title*** instead.
{% endhint %}

### **`before_awsm_jobs_listing_title`**

Fires before jobs listing title content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

### **`after_awsm_jobs_listing_left_col_content`**

Fires after jobs listing left column content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

{% hint style="warning" %}
This hook has been deprecated since version 3.0.0. Use ***after\_awsm\_jobs\_listing\_title*** instead.
{% endhint %}

### **`after_awsm_jobs_listing_title`**

Fires after jobs listing title content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

### **`before_awsm_jobs_listing_right_col_content`**

Fires before jobs listing right column content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

{% hint style="warning" %}
This hook has been deprecated since version 3.0.0. Use ***before\_awsm\_jobs\_listing\_specs\_content*** instead.
{% endhint %}

### **`before_awsm_jobs_listing_specs_content`**

Fires before jobs listing specifications content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

### **`after_awsm_jobs_listing_right_col_content`**

Fires after jobs listing right column content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

{% hint style="warning" %}
This hook has been deprecated since version 3.0.0. Use ***after\_awsm\_jobs\_listing\_specs\_content*** instead.
{% endhint %}

### `after_awsm_jobs_listing_specs_content`

Fires after jobs listing specifications content.

#### Source code

File: *`inc/templates/job-openings/main.php`*

### **`after_awsm_jobs_listing_loop`**

Fires after the loop.

#### Source code

File: *`inc/templates/job-openings/main.php`*

### **`before_awsm_job_details`**

Fires before the awsm job details.

#### Source code

File: *`inc/templates/job-content.php`*

### **`after_awsm_job_details`**

Fires after awsm job details.

#### Source code

File: *`inc/templates/job-content.php`*


# Job Specifications

### **`awsm_job_specs_mb_init`**

Initialize job specifications meta box.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current job ID.

#### **Source code**

File: *`admin/templates/meta/job-specifications.php`*

### **`before_awsm_job_specs_mb_content`**

Fires before job specifications meta box content.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current job ID.

#### **Source code**

File: *`admin/templates/meta/job-specifications.php`*

### **`after_awsm_job_specs_mb_content`**

Fires after job specifications meta box content.

This hook is available since Version 1.6.0

#### **Parameters**

* **$post\_id**

  (int) The current job ID.

#### **Source code**

File: *`admin/templates/meta/job-specifications.php`*


# Job Status

### **`awsm_job_status_mb_init`**

Initialize job status meta box.

This hook is available since Version 1.6.0

#### **Parameters**

* **$job\_id**

  (int) The Job ID.
* **$post\_id**

  (int) Current Post ID (Job or Application).

#### **Source code**

File: *`admin/templates/meta/job-status.php`*


# Settings

### **`awsm_jobs_settings_subtab_section`**

This hook is available since Version 1.0.1

#### **Parameters**

* **$section**

  (string) The current tab associated with the settings tab.

#### **Source code**

File: *`admin/templates/appearance.php, form.php`*

### **`awsm_settings_form_elem_start`**

This hook is available since Version 1.1.0

#### **Source code**

File: *`admin/templates/general.php, appearance.php, specifications.php, form.php, notifications.php`*

### **`before_awsm_settings_main_content`**

This hook is available since Version 1.0.1

#### **Source code**

File: *`admin/templates/general.php, appearance.php, specifications.php, form.php, notifications.php`*

### **`before_awsm_appearance_listing_settings`**

This acton hook is fired before the job listing appearance settings field.

#### **Source code**

File: *`admin/templates/appearance.php`*

### **`after_awsm_appearance_listing_settings`**

This action hook fires after the job listing appearance settings field.

#### **Source code**

File: *`admin/templates/appearance.php`*

### **`before_awsm_appearance_details_settings`**

This action hook fires before the job details appearance settings field.&#x20;

#### **Source code**

File: *`admin/templates/appearance.php`*

### **`after_awsm_appearance_details_settings`**

This action hook fires before the job details appearance settings field.

#### **Source code**

File: *`admin/templates/appearance.php`*

### **`after_awsm_settings_main_content`**

This hook is available since Version 1.0.1

#### **Source code**

File: *`admin/templates/general.php, appearance.php, specifications.php, form.php, notifications.php`*

### **`awsm_settings_form_elem_end`**

This hook is available since Version 1.0.1

#### **Source code**

File: *`admin/templates/general.php, appearance.php, specifications.php, form.php, notifications.php`*

### **`before_awsm_job_settings_init`**

Fires before settings initialize.

#### **Source code**

File: *`admin/templates/base.php`*

### **`awsm_jobs_settings_tab_section`**

Fires in the settings tab section.

#### **Source code**

File: *`admin/templates/base.php`*

### **`before_awsm_form_settings`**

Fires before the form settings field.

#### **Source code**

File: *`admin/templates/form.php`*

### **`after_awsm_form_settings`**

Fires after the form settings field.

#### **Source code**

File: *`admin/templates/form.php`*

### **`before_awsm_form_recaptcha_settings`**&#x20;

Fires before the recaptcha settings.

This hook is available since Version 1.0.1

#### **Source code**

File: *`admin/templates/form.php`*

### **`after_awsm_form_recaptcha_settings`**

Fires after the recaptcha settings

This hook is available since Version 1.0.1

#### **Source code**

File: *`admin/templates/form.php`*

### **`before_awsm_general_settings`**

This action hook is fired before the general settings fields.

#### **Source code**

File: *`admin/templates/general.php`*

### **`after_awsm_general_settings`**

This action hook is fired after the general settings fields.

#### **Source code**

File: *`admin/templates/general.php`*

### **`before_awsm_notification_settings`**

Fires before the notification settings field.

#### **Source code**

File: *`admin/templates/notifications.php`*

### **`after_awsm_notification_settings`**

Fires after the notification settings field.

#### **Source code**

File: *`admin/templates/notifications.php`*

### **`before_awsm_specifications_settings`**

Fires before the specifications settings field.

#### **Source code**

File: *`admin/templates/specifications.php`*

### **`after_awsm_specifications_settings`**

Fires after the specifications settings field.

#### **Source code**

File: *`admin/templates/specifications.php`*

### `awsm_jobs_captcha_verify_request`

Fires just before making the CAPTCHA verification HTTP request.

This hook is available since Version 3.6.0

#### **Parameters**

* **$verify\_url** \
  (string) The verification URL
* **$args** \
  (array) HTTP request arguments
* **$provider** \
  (string) The CAPTCHA provider
* **$provider\_config** \
  (array) Provider configuration array

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_verify_http_error`

Fires when the CAPTCHA verification HTTP request fails.

This hook is available since Version 3.6.0

#### **Parameters**

* **$response** \
  (WP\_Error) The error object
* **$provider** \
  (string) The CAPTCHA provider
* **$provider\_config** \
  (array) Provider configuration array

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_verify_completed`

Fires after CAPTCHA verification finishes (success or failure).

This hook is available since Version 3.6.0

#### **Parameters**

* **$result** \
  (array) Verification result with 'valid' and 'message'
* **$data** \
  (array) API response data
* **$provider** \
  (string) The CAPTCHA provider
* **$provider\_config** \
  (array) Provider configuration array

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_validate_error`

Fires when CAPTCHA key validation encounters an error.

This hook is available since Version 3.6.0

#### **Parameters**

* **$error\_type** \
  (string) Type of error ('empty', 'api', etc.)
* **$message** \
  (string) The error message
* **$option\_name** \
  (string) The option name
* **$provider** \
  (string) The CAPTCHA provider
* **$key\_type** \
  (string) Type of key ('site\_key' or 'secret\_key')

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_provider_changed`

Fires when the CAPTCHA provider is changed.

This hook is available since Version 3.6.0

#### **Parameters**

* **$value** \
  (string) The new CAPTCHA provider
* **$input** \
  (mixed) The original input
* **$old\_value** \
  (string) The previous CAPTCHA provider

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*


# Widget - Recent Jobs

Template part for recent jobs widget

### **`before_awsm_recent_jobs_widget_loop`**

Fires before The Loop for recent jobs widget

This hook is available since Version 1.4

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`/inc/templates/widgets/recent-jobs.php`*

### **`before_awsm_recent_jobs_widget_left_col_content`**

Fires before recent jobs widget left column content

This hook is available since Version 1.4

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`inc/templates/widgets/recent-jobs.php`*

### **`after_awsm_recent_jobs_widget_left_col_content`**

Fires after recent jobs widget left column content

This hook is available since Version 1.4

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`inc/templates/widgets/recent-jobs.php`*

### **`before_awsm_recent_jobs_widget_right_col_content`**

Fires before recent jobs widget right column content

This hook is available since Version 1.4

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`inc/templates/widgets/recent-jobs.php`*

### **`after_awsm_recent_jobs_widget_right_col_content`**

Fires after recent jobs widget right column content

This hook is available since Version 1.4

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`inc/templates/widgets/recent-jobs.php`*

### **`after_awsm_recent_jobs_widget_loop`**

Fires after The loop for recent jobs widget.

This hook is available since Version 1.4

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`inc/templates/widgets/recent-jobs.php`*

### **`before_awsm_recent_jobs_widget_content`**

Fire before recent jobs widget content.

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`inc/widgets/class-awsm-job-openings-recent-jobs-widget-php`*

### **`after_awsm_recent_jobs_widget_content`**

Fire after recent jobs widget content.

#### **Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

#### **Source code**

File: *`inc/widgets/class-awsm-job-openings-recent-jobs-widget-php`*

### `before_awsm_recent_jobs_widget_title`

Fire before recent jobs widget content.

**Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

**Source code**

File : *`inc/templates/widgets/recent-jobs.php`*

### `after_awsm_recent_jobs_widget_title`

Fire after recent jobs widget content.

**Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

**Source code**

File : *`inc/templates/widgets/recent-jobs.php`*

### `before_awsm_recent_jobs_widget_specs_content`

Fire before recent jobs widget specs content.

**Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

**Source code**

File : *`inc/templates/widgets/recent-jobs.php`*&#x20;

### `after_awsm_recent_jobs_widget_specs_content`

Fire after recent jobs widget specs content.

**Parameters**

* **$args**

  (array) An array containing the query arguments
* **$instance**

**Source code**

File : *`inc/templates/widgets/recent-jobs.php`*&#x20;


# Filters

There are many filter hooks available in WP Job Openings plugin. You can use filters to modify data on your particular needs.

{% content-ref url="/pages/-MR4ZRy5\_rFbt4cHBqUv" %}
[Application Form](/developers/hooks/filters/application-form)
{% endcontent-ref %}

{% content-ref url="/pages/-MR3mm4VD2iTthKYrfCX" %}
[Email](/developers/hooks/filters/email)
{% endcontent-ref %}

{% content-ref url="/pages/-MR4WtV\_ApK\_JGPp13Dm" %}
[Job Filter](/developers/hooks/filters/job-filter)
{% endcontent-ref %}

{% content-ref url="/pages/-MR3pQg7-f2M8JUnORXQ" %}
[Layout](/developers/hooks/filters/layout)
{% endcontent-ref %}

{% content-ref url="/pages/-MR3l281T8YnVIbSHG0Z" %}
[Meta Data](/developers/hooks/filters/meta-data)
{% endcontent-ref %}

{% content-ref url="/pages/-MR43boW-TJOA0w3AGjm" %}
[Navigation](/developers/hooks/filters/navigation)
{% endcontent-ref %}

{% content-ref url="/pages/-MXhcRSd10O2JwLGtE8W" %}
[Post Type](/developers/hooks/filters/post-type)
{% endcontent-ref %}

{% content-ref url="/pages/-MR3ud4eiQEUNINn6shH" %}
[Query](/developers/hooks/filters/query)
{% endcontent-ref %}

{% content-ref url="/pages/-MR4EhGocNyN-2TtvqrW" %}
[Settings](/developers/hooks/filters/settings)
{% endcontent-ref %}

{% content-ref url="/pages/-MR11EQ6aHRH1Tn8pqIL" %}
[Shortcode](/developers/hooks/filters/shortcode)
{% endcontent-ref %}

{% content-ref url="/pages/-MXhbvb\_zGXz144b3gHn" %}
[Structured Data](/developers/hooks/filters/structured-data)
{% endcontent-ref %}


# Application Form

### **`awsm_application_form_fields`**

Modifying the application form fields.

#### **Parameters**

* **$default\_form\_fields**

  (array) An array containing default form fields.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_application_form_fields_order`**

Filter application form fields order.

#### **Parameters**

* **$form\_fields\_order**

  (array) An ordered array of form fields.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_application_dynamic_form_field_content`**

Filters the form field content of the job application form.

This filter is available since Version 2.0.0

#### **Parameters**

* **$field\_content**

  (string) The content.
* **$field\_type**

  (string) The field type.
* **$field\_args**

  (array) Form field options.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_application_dynamic_form_fields_content`**

Filters the whole form fields content of the job application form.

This filter is available since Version 1.3.0

#### **Parameters**

* **$form\_fields\_content**

  (string) The content.
* **$dynamic\_form\_fields**

  (array) Dynamic form fields.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_application_form_title`**

Filters the job application form title.

#### **Parameters**

* **$form\_title**

  (string) Application Form Title.

#### **Source code**

File:  *`inc/templates/single-job/form.php`*

### `awsm_application_form_allowed_html`

Filters the allowed HTML elements and attributes for the form.

This filter is available since Version 3.&#x30;*.*&#x30;\
\
**Parameters**

* **$allowed\_html**\
  (array|string) An array of allowed HTML elements and attributes or a context name.

**Source code**

File : *`inc/class-awsm-job-openings-form.php`*&#x20;

### `awsm_application_form_gdpr_field_content`

Filters the privacy policy checkbox field content.

This filter is available since Version 3.&#x30;*.*&#x30;

**Parameters**

* **$field\_content**\
  (string)Field HTML content.
* **$form\_attrs**\
  (array) Attributes array for the form.

**Source code**

File : *`inc/class-awsm-job-openings-form.php`*   &#x20;

### `awsm_jobs_default_notifications_types`

Filters the default notifications types - applicant or admin.

This filter is available since Version 3.2.0

**Parameters**

* **$types**\
  (array) Notification types array.
* **$applicant\_details**\
  (array) Applicant details array.
* **$data**\
  (array) Notification data array.

**Source code**

File : *`inc/class-awsm-job-openings-form.php`*&#x20;

### `awsm_jobs_paginate_links_content`

Filters the paginate links to content.

This filter is available since Version 3.0.0

**Parameters**

* **$pagination\_content**\
  (string) The HTML content.
* **$query**\
  (array) The Query object.
* **$args**\
  (array) Paginate links arguments.
* **$shortcode\_attrs**\
  (array) Shortcode attributes array.

**Source code**

File : *`inc/template-functions.php`*

### `awsm_jobs_captcha_frontend_config`

Filters the CAPTCHA frontend configuration array. Use this to add custom CAPTCHA providers or modify existing configurations.

This hook is available since Version 3.6.0

**Parameters**

* **$config**\
  (array) An array containing form settings fields

**Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_verify_request_body`

Filters CAPTCHA verification request body. Allows adding custom parameters for verification (e.g., custom data).

This hook is available since Version 4.0.0

**Parameters**

* **$body**\
  (array) Request body array
* **$captcha\_type**\
  (string) CAPTCHA type being verified
* **$token**\
  (string) The response token

**Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_verify_response`

Filters raw CAPTCHA verification response. This is the primary hook for custom CAPTCHA validation logic. Allows complete control over how responses are processed.

This hook is available since Version 3.6.0

**Parameters**

* **$result**\
  (array) Decoded response array from provider
* **$captcha\_type**\
  (string) CAPTCHA type being verified
* **$token**\
  (string) The response token
* **$body**\
  (string) Request body sent to provider

**Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_render_captcha`

Allows custom rendering for captcha types. If a custom renderer returns true, the default rendering will be skipped.

This hook is available since Version 3.6.0

**Parameters**

* **$rendered**\
  (bool) Whether custom rendering was performed
* **$captcha\_type**\
  (string) The type of captcha being rendered
* **$site\_key**\
  (string) The site key for the captcha

**Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_fail_message`

Allows final customization of the fail message shown to applicants.

This hook is available since Version 3.6.0

**Parameters**

* **$message**\
  (string) The message that will be displayed
* **$captcha\_type**\
  (string) Current provider key (recaptcha|hcaptcha|turnstile|...)
* **$error\_codes**\
  (array) Provider-specific error codes (if any)
* **$result**\
  (array) Raw verification response array

**Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*


# Email

### **`awsm_jobs_applicant_notification_mail_headers`**

Filters the applicant notification mail headers.

This filter is available since Version 1.4.0

#### **Parameters**

* **$headers**

  (array) An array containing additional headers.
* **$applicant\_details**

  (array) Applicant details.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_jobs_applicant_notification_mail_attachments`**

Filters the applicant notification mail attachments.

This filter is available since Version 1.4.0

#### **Parameters**

* **$attachments**

  (array) An array containing mail attachments.
* **$applicant\_details**

  (array) An array containing applicant details.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_jobs_applicant_notification_mail_template`**

Filters the applicant notification mail template.

This filter is available since Version 2.0.0

#### **Parameters**

* **$template**

  (string) Mail template.
* **$template\_data**

  (array) An array containing mail template data.
* **$applicant\_details**

  (array) An array containing applicant details.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_jobs_admin_notification_mail_headers`**

Filters the admin notification mail headers.

This filter is available since Version 1.4.0

#### **Parameters**

* **$headers**

  (array) An array containing additional header&#x73;**.**
* **$applicant\_details**

  (array) An array containing applicant details.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_jobs_admin_notification_mail_attachments`**

Filters the admin notification mail attachments.

This filter is available since Version 1.4.0

#### **Parameters**

* **$attachments\_details**

  (array) An array containing attachments details.**.**
* **$applicant\_details**

  (array) An array containing applicant details.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_jobs_admin_notification_mail_template`**

Filters the admin notification mail template.

This filter is available since Version 2.0.0

#### **Parameters**

* **$template**

  (string) Mail template.
* **$template\_data**

  (array) An array containing mail template data.
* **$applicant\_details**

  (array) An array containing applicant details.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*&#x20;

### **`awsm_jobs_mail_template_tags`**

Filters the mail template tags.

This filter is available since Version 1.4.0

#### **Parameters**

* **$tags**

  (array) Mail template tags.
* **$applicant\_details**

  (array) Applicant Details.
* **$options**

  (array) Settings values.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-form.php`*

### **`awsm_jobs_email_digest_mail_headers`**

Filters the daily email digest headers.

This hook is available since Version 2.0.0

#### **Parameters**

* **$headers**

  (array) An array containing additional headers.

#### **Source code**

File: *`wp-job-openings.php`*

### **`awsm_jobs_email_digest_template_content`**

Filters the daily email digest template content.

This hook is available since Version 2.0.0

#### **Parameters**

* **$mail\_content**

  (array) An array containing mail template content.

#### **Source code**

File: *`wp-job-openings.php`*

### **`awsm_jobs_email_digest_subject`**

Filters the daily email digest subject.

This hook is available since Version 2.0.0

#### **Parameters**

* **$subject**

  (string) Email subject.

#### **Source code**

File: *`wp-job-openings.php`*

### **`awsm_jobs_mail_generic_template_tags`**

Filters the mail generic template tags.

This hook is available since Version 2.0.0

#### **Parameters**

* **$tags**

  (array) An array containing mail template tags.
* **$options**

  (array) An array containing settings values.

#### **Source code**

File: *`wp-job-openings.php`*


# Job Filter

### **`awsm_jobs_search_field_placeholder`**

Filters the search field placeholder text.

This hook is available since Version 1.6.0

#### **Parameters**

* **$text**

  (string) Placeholder tex&#x74;**.**

#### **Source code**

File:  *`/inc/class-awsm-job-openings-filters.php`*

### **`awsm_jobs_search_field_content`**

Filters the search field content.

This hook is available since Version 1.6.0

#### **Parameters**

* **$search\_content**

  (string) Search field content.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-filters.php`*

### **`awsm_filter_spec_terms_args`**

Filter arguments for the specification terms in the job filter.

This hook is available since Version 2.0.0

#### **Parameters**

* **$terms\_args**

  (array) Array of arguments

#### **Source code**

File:  *`/inc/class-awsm-job-openings-filters.php`*

### **`awsm_filter_label`**

Filters the default label for the job filter.

This hook is available since Version 1.6.0

#### **Parameters**

* **$filter\_label**

  (string) Filter Label.
* **$taxonomy**

  (string) Taxonomy key
* **$tax\_details**

  (array) Taxonomy details.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-filters.php`*

{% hint style="info" %}
**Code Snippets:** [**Remove 'All' prefix from the Job Filter**](/developers/code-snippets/remove-all-prefix)
{% endhint %}

### **`awsm_filter_content`**

Modify contents in filter form.

#### **Parameters**

* **$filter\_content**

  (string) Filter content
* **$available\_filters\_arr**

  (array) An array containing available filters.

#### **Source code**

File:  *`/inc/class-awsm-job-openings-filters.php`*

### `awsm_job_filter_option_content`

Filter the job filter dropdown option content.

This hook is available since Version 3.3.0\
\
**Parameters**

* **$option\_content**\
  (string) Filter dropdown option content.
* **$term**\
  Job spec term.
* **$taxonomy**\
  (string) Job spec key.

### `awsm_job_filter_dropdown_content`

Filter the job filter dropdown content.

This hook is available since Version 3.3.0

**Parameters**

* **$dropdown\_content**\
  (string) Filter dropdown content.

### `awsm_jobs_pro_admin_filter_content` (PRO)

Filters the admin filter content.

This hook is available since Version 3.1.0

**Parameters**

* **$filter\_content**\
  (string) Filter HTML content.
* **$taxonomy** \
  (string) The taxonomy.
* **$post\_type** \
  (string) The post type.


# Job Specifications

### `awsm_jobs_spec_terms_args`

Filter the arguments for specification terms.

This hook is available since Version 3.3.0<br>

**Parameters**

* **$terms\_args**

  (array) Array of arguments

**Source code**

File : *`admin/templates/meta/job-specifications.php`*


# Layout

### **`awsm_job_listing_view_class`**

Modifying job listing class.

#### **Parameters**

* **$view\_class**

  (string) Class name.

#### **Source code**

File: *`wp-job-openings.php`*

### **`awsm_job_details_class`**

Modifying job details class.

#### **Parameters**

* **$column\_class**

  (string) Class name.

#### **Source code**

File: *`wp-job-openings.php`*

### **`awsm_job_listing_item_class`**

Filters the classes for each job listing item.

This filter is available since Version 2.1.0&#x20;

#### **Parameters**

* **$classes**

  (array) Array of class names.
* **$job\_id**

  (int) The Job ID.

#### **Source code**

File: *`inc/template-functions.php`*

### **`awsm_jobs_listing_details_link`**

Modifying job listing details link.

#### **Parameters**

* **$more\_dtls\_link**

  (string) More details link.
* **$view**

  (string) Layout of job listing.

#### **Source code**

File: *`inc/template-functions.php`*

### **`awsm_application_form_submit_btn_text`**

Modifying application form submit button text.

#### **Parameters**

* **$text**

  (string) Submit Button Text.

#### **Source code**

File: *`inc/template-functions.php`*

### **`awsm_application_form_submit_btn_res_text`**

&#x20;Modifying application form submit button response text.

#### **Parameters**

* **$text**

  (string) Submit Button Text.

#### **Source code**

File: *`inc/template-functions.php`*

### **`awsm_jobs_featured_image_content`**

Filters the featured image content.

This filter is available since Version 2.1.0&#x20;

#### **Parameters**

* **$content**

  (string) The image content.
* **$post\_thumbnail\_id**

  (int) The post thumbnail ID.

#### **Source code**

File: *`inc/template-functions.php`*

### **`awsm_jobs_listing_title`**

Modifying job listing title.

#### **Parameters**

* **$job\_title**

  (string) The job title.
* **$view**

  (string) Layout of job listing.

#### **Source code**

File: *`inc/templates/job-openings/main.php, inc/templates/widgets/recent-jobs.php`*

### `awsm_jobs_wrapper_class`

Filters the wrapper element class.

This filter is available since Version 3.1.0

**Parameters**

* **$wrapper\_class**\
  (string) Class names.

**Source code**

File: *`inc/template-functions.php`*


# Meta Data

### **`awsm_job_post_status`**

Filters the status array for submit meta box for job openings.

This hook is available since Version 2.1.0

#### **Parameters**

* **$status**

  (array) An array containing Job status.

#### **Source code**

File: *`wp-job-openings.php`*

### **`awsm_jobs_applicant_meta`**

Modify applicant meta details list.

#### **Parameters**

* **$post\_id**

  (int) Current post ID.

#### **Source code**

File: *`admin/class-awsm-job-openings-meta.php`*

### **`awsm_jobs_applicant_meta_details_list`**

Modify applicant meta details list.

#### **Parameters**

* **$list**

  (string) HTML content.
* **$applicant\_meta**

  (array) An array containing the applicant meta details
* **$post\_id**

  (int) Current post ID

#### **Source code**

File: *`admin/class-awsm-job-openings-meta.php`*

### **`awsm_applicant_photo`**

For modifying data for applicant photo

#### **Parameters**

* **$applicant\_email**

  (string) The applicant email.

#### **Source code**

File: *`wp-job-openings.php, admin/templates/meta/applicant-single.php`*

### **`awsm_job_status_mb_data_rows`**

Filters job status meta box content rows.

This filter is available since Version 1.6.0

#### **Parameters**

* **$data\_rows**

  (array) An array containing rows data.
* **$job\_id**

  (int) The Job ID.
* **$post\_id**

  (int) Current Post ID (Job or Application).

#### **Source code**

File:  *`admin/templates/meta/job-status.php`*

### **`awsm_jobs_date_format`**

Filters the date format used in WP Job Openings.

This filter is available since Version 2.1.0

#### **Parameters**

* **$format**

  (string) The date format.
* **$id**

  (string) Unique ID to filter the date format.

#### **Source code**

File:  *`inc/helper-functions.php`*

### **`awsm_jobs_time_format`**

Filters the time format used in WP Job Openings.

This filter is available since Version 2.1.0

#### **Parameters**

* **$format**

  (string) The time format.
* **$id**

  (string) Unique ID to filter the time format.

#### **Source code**

File:  *`inc/helper-functions.php`*

### `awsm_jobs_wp_editor_settings`

Filters the WP Editor settings.

This filter is available since Version 3.3.0\
\
**Parameters**

* **$settings**\
  The WP Editor settings array.
* **$editor\_id**\
  (string) The Editor ID.

**Source code**

File : *`inc/helper-functions.php`*

### `awsm_job_expired_content`

Filters the expired job content.

This filter is available since Version 3.0.0

**Parameters**

* **$content**\
  (string) The HTML content.
* **$msg**\
  (string) Expired message.
* **$before** \
  (string) The content before the expired message.
* **$after** \
  (string) The content after the expired message.

**Source code**

File : *`inc/template-functions.php`*

<br>


# Navigation

### **`awsm_jobs_admin_nav_items`**

Filters admin navigation items.

This hook is available since Version 2.0.0

#### **Parameters**

* **$nav\_items**

  (array) An array containing Items data array.
* **$nav\_page**

  (string) The page/screen ID.

#### **Source code**

File: *`admin/class-awsm-job-openings-info.php`*


# Post Type

### **`awsm_job_openings_args`**

Filters 'awsm\_job\_openings' post type arguments.

This hook is available since Version 1.4.0

#### **Parameters**

* **$args**

  (array) An array of arguments.

#### **Source code**

File: *`/inc/class-awsm-job-openings-core.php`*

{% hint style="info" %}
**Code Snippets:** [**Custom Permalink - Slug Issue**](/developers/code-snippets/custom-permalink-slug-issue)
{% endhint %}

### **`awsm_job_application_args`**

Filters 'awsm\_job\_application' post type arguments.

This hook is available since Version 1.4.0

#### **Parameters**

* **$args**

  (array) An array of arguments.

#### **Source code**

File: *`/inc/class-awsm-job-openings-core.php`*


# Query

### **`awsm_job_query_args`**

Filters the arguments for the jobs query.

This hook is available since Version 1.4.0

#### **Parameters**

* **$args**

  (array) An array containing arguments.
* **$filters**

  (array) An array containing applicable filters.
* **$shortcode\_atts**

  (array) An array containing shortcode attributes.

#### **Source code**

File: *`wp-job-openings.php`*

{% hint style="info" %}
**Code Snippets:** [**Sort by Title**](/developers/code-snippets/sort-by-title)
{% endhint %}

### **`awsm_job_listing_data_attrs`**

Modifying job listing data attributes.

#### **Parameters**

* **$attrs**

  (array) An array of data attributes.

#### **Source code**

File: *`wp-job-openings.php`*

### `awsm_widget_recent_jobs_args`

Filters the array of arguments for retrieving the recent jobs in the Widget.

This filter is available since Version 1.0.0

#### **Parameters**

* **$args**

  (array) array of arguments.
* **$instance**

  (array) The settings for the particular instance of the widget.

#### **Source code**&#x20;

File **:** *`inc/widgets/class-awsm-job-openings-recent-jobs-widget.php`*


# Settings

### **`awsm_jobs_settings_subtabs`**

Filters the Settings Subtabs.

This hook is available since Version 1.3.0

#### **Parameters**

* **$subtabs**

  (array) An array containing the subtabs data.
* **$section**

  (string) Current settings section.

#### **Source code**

File: *`admin/class-awsm-job-openings-settings.php`*

### **`awsm_jobs_form_file_extensions`**

Modify file upload extensions.

#### **Parameters**

* **$extns**

  (array) An array containing file extensions.

#### **Source code**

File: *`admin/class-awsm-job-openings-settings.php`*

### **`awsm_jobs_switchable_settings_options`**

Filters the allowed options for switchable settings.

This hook is available since Version 1.4.0

#### **Parameters**

* **$allowed\_options**

  (array) An array containing allowed options

#### **Source code**

File: *`admin/class-awsm-job-openings-settings.php`*

### **`awsm_jobs_settings_fields_content`**

Filters the allowed options for switchable settings.

This hook is available since Version 1.4.0

#### **Parameters**

* **$content**

  (string) Settings fields content.
* **$settings\_fields**

  (array) An array containing settings fields.
* **$container**

  (string) Container for settings fields.

#### **Source code**

File: *`admin/class-awsm-job-openings-settings.php`*

### **`awsm_job_template_tags`**

Modify file template tags.

#### **Parameters**

* **$template\_tags**

  (array) Template Tags.

#### **Source code**

File: *`admin/class-awsm-job-openings-settings.php`*

### **`awsm_job_settings_submit_btn`**

Modify settings submit button.

#### **Parameters**

* **$submit\_btn**

  (string) Submit Button HTML content.

#### **Source code**

File: *`admin/templates/general.php, admin/templates/appearance.php, admin/templates/form.php, admin/templates/specifications.php, admin/templates/notification.php`*

### **`awsm_jobs_settings_tab_menus`**

Modify job settings in tab menus.

#### **Parameters**

* **$tab\_menus**

  (string) Tab menus

#### **Source code**&#x20;

File: *`/admin/templates/base.php`*

### **`awsm_jobs_general_settings_fields`**

Filters the general settings fields.

This hook is available since Version 1.4.0

#### **Parameters**

* **$settings\_fields**

  (array) An array containing general settings fields.

#### **Source code**

File: *`/admin/templates/general.php`*

### **`awsm_jobs_number_of_columns_options`**

Modify number of columns for jobs.

#### **Parameters**

* **$no\_columns\_options**

  (array) Number of Columns.

#### **Source code**

File: *`/admin/templates/appearance.php`*

### **`awsm_jobs_specifications_position`**

Modify the job specification positions.

#### **Parameters**

* **$job\_specs\_positions**

  (array) Job Specifications Positions.

#### **Source code**

File: *`/admin/templates/appearance.php`*

### **`awsm_jobs_appearance_settings_fields`**

Modifying jobs appearance settings fields.

This hook is available since Version 1.4.0

#### **Parameters**

* **$settings\_fields**

  (array) An array containing appearance settings fields

#### **Source code**

File: *`/admin/templates/appearance.php`*

### **`awsm_jobs_form_settings_fields`**

Filters the form settings fields.

This hook is available since Version 1.4.0

#### **Parameters**

* **$settings\_fields**

  (array) An array containing form settings fields

#### **Source code**

File: *`/admin/templates/form.php`*

### `awsm_jobs_captcha_config`

Filters the CAPTCHA configuration array. Use this to add custom CAPTCHA providers or modify existing provider configurations.

This hook is available since Version 3.6.0

#### **Parameters**

* **$config** \
  (array) An array containing CAPTCHA configuration for all providers (recaptcha, hcaptcha, turnstile, none)

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_settings_options`

Filters the CAPTCHA settings options array used for option registration.

This hook is available since Version 3.6.0

#### **Parameters**

* **$options** \
  (array) Array of option registration configurations
* **$config** \
  (array) The CAPTCHA configuration array

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_verify_request_args`

Filters HTTP request arguments for CAPTCHA verification. Useful for adjusting timeouts, headers, proxies, etc.

This hook is available since Version 3.6.0

#### **Parameters**

* **$args** \
  (array) HTTP request arguments
* **$verify\_url** \
  (string) The verification URL
* **$provider** \
  (string) The CAPTCHA provider
* **$provider\_config** \
  (array) Provider configuration array

#### Source code&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_verify_result`

Filters the final CAPTCHA verification result. Use this to change the validation message or force valid/invalid status.

This hook is available since Version 3.6.0

#### **Parameters**

* **$result** \
  (array) Verification result array with 'valid' (bool) and 'message' (string)
* **$data** \
  (array) Raw API response data
* **$provider** \
  (string) The CAPTCHA provider
* **$provider\_config** \
  (array) Provider configuration array

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_error_patterns`

Filters error patterns map for CAPTCHA verification errors.

This hook is available since Version 3.6.0

#### **Parameters**

* **$error\_patterns** \
  (array) Error code to message template mapping
* **$provider\_config** \
  (array) Provider configuration array
* **$data** \
  (array) API response data

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_validate_short_circuit`

Allows bypassing normal CAPTCHA key validation logic.

This hook is available since Version 3.6.0

#### **Parameters**

* **$bypass** \
  (null|string) Return a string to bypass normal validation, null to continue
* **$value** \
  (string) The sanitized key value
* **$provider** \
  (string) The CAPTCHA provider
* **$key\_type** \
  (string) Type of key ('site\_key' or 'secret\_key')
* **$option\_name** \
  (string) The option name being validated

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_captcha_validated_value`

Filters the validated CAPTCHA key value before saving.

This hook is available since Version 3.6.0

#### **Parameters**

* **$value** \
  (string) The sanitized value
* **$provider** \
  (string) The CAPTCHA provider
* **$key\_type** \
  (string) Type of key ('site\_key' or 'secret\_key')
* **$option\_name** \
  (string) The option name

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*

### `awsm_jobs_sanitize_captcha_enable`

Filters the validated CAPTCHA enable value.

This hook is available since Version 3.6.0

#### **Parameters**

* **$value** \
  (string) The sanitized value
* **$input** \
  (mixed) The original input

#### **Source code**&#x20;

File: *`inc/class-awsm-job-openings-form.php`*


# Shortcode

### **`awsm_jobs_shortcode_defaults`**

Filters the shortcode attributes and their defaults.

This hook is available since Version 1.6.0

#### **Parameters**

* **$pairs**

  (array) List of supported attributes and their defaults.

#### **Source code**

File:  *`wp-job-openings.php`*

### **`awsm_jobs_shortcode_output_content`**

Filters the shortcode output content.

This hook is available since Version 1.6.0

#### **Parameters**

* **$content**

  (string) Shortcode content.
* **$shortcode\_atts**

  (array) Combined and filtered shortcode attribute list.

#### **Source code**

File: *`wp-job-openings.php`*


# Structured Data

### **`awsm_job_spec_structured_data`**

Modifying job specifications structured data

#### **Parameters**

* **$data**

  (array) An array containing job specfifications structured data.

#### **Source code**

File: *`wp-job-openings.php`*

### **`awsm_job_structured_data`**

Modifying job structured data

#### **Parameters**

* **$data**

  (array) An array containing structured data.

#### **Source code**

File: *`wp-job-openings.php`*

{% hint style="info" %}
**Code Snippets:** [**Modify or Remove the Structured Data**](/developers/code-snippets/modify-or-remove-the-structured-data)
{% endhint %}


# Code Snippets

{% content-ref url="/pages/-MSW2np4GifAGVLXgCJl" %}
[Archive page title](/developers/code-snippets/archive-page-title)
{% endcontent-ref %}

{% content-ref url="/pages/-MZNiDqOHeByp8mR-8lF" %}
[Custom Application Status](/developers/code-snippets/custom-application-status)
{% endcontent-ref %}

{% content-ref url="/pages/-MXpiitqdnYumAYI5LKE" %}
[Custom Permalink - Slug Issue](/developers/code-snippets/custom-permalink-slug-issue)
{% endcontent-ref %}

{% content-ref url="/pages/-MSW1RxX6eBRqa0rj1Om" %}
[Limit the file size](/developers/code-snippets/limit-the-file-size)
{% endcontent-ref %}

{% content-ref url="/pages/-MXpNi-oaOJm6kcq\_YPm" %}
[Modify or Remove the Structured Data](/developers/code-snippets/modify-or-remove-the-structured-data)
{% endcontent-ref %}

{% content-ref url="/pages/-MRsHk3sOAeMfkeK5tjX" %}
[Remove 'All' prefix from the filter](/developers/code-snippets/remove-all-prefix)
{% endcontent-ref %}

{% content-ref url="/pages/-MSSUJFyTIS\_JBZTSahi" %}
[Broken mention](broken://pages/-MSSUJFyTIS_JBZTSahi)
{% endcontent-ref %}

{% content-ref url="/pages/-MSTSp6BpQ13-vNsn6tx" %}
[Sort by title](/developers/code-snippets/sort-by-title)
{% endcontent-ref %}


# Archive page title

Use the below code snippet to change the archive title.

```php
function awsm_jobs_custom_archive_title( $title, $post_type ) {
    if ( $post_type === 'awsm_job_openings' ) {
        $title = 'Careers';
    }
    return $title;
}
add_filter( 'post_type_archive_title', 'awsm_jobs_custom_archive_title', 10, 2 ); 
```

{% hint style="info" %}
[**How to Easily Add Custom Code to Your WordPress Websites**](https://wp-content.co/add-custom-code-to-your-wordpress-websites/)
{% endhint %}


# Custom Application Status

### Code snippet for customizing the application status <img src="/files/-MXW8KvQZ9G9kHt0WZ6s" alt="" data-size="line">&#x20;

**Important Note:** Once you set a custom status, manipulating these statuses may result in unintended results. For example, you won't be able to access some of the applications. So, please use this with caution.

```php
function awsm_jobs_pro_custom_application_status( $status ) {
	/**
	 * Example: Update an existing status.
	 */
	$status['select'] =  array(
		'label'       => _x( 'Hired', 'post status', 'pro-pack-for-wp-job-openings' ),
		/* translators: %s: posts count */
		'label_count' => _n_noop( 'Hired <span class="count">(%s)</span>', 'Hired <span class="count">(%s)</span>', 'pro-pack-for-wp-job-openings' ),
	);

	/**
	 * Example: Add a new status.
	 */
	$status['interview'] = array(
		'label'       => _x( 'Interview', 'post status', 'pro-pack-for-wp-job-openings' ),
		'label_count' => _n_noop( 'Interview <span class="count">(%s)</span>', 'Interview <span class="count">(%s)</span>', 'pro-pack-for-wp-job-openings' ),
	);
	
	return $status;
}
add_filter( 'awsm_jobs_pro_application_status', 'awsm_jobs_pro_custom_application_status' );
```

{% hint style="info" %}
[**How to Easily Add Custom Code to Your WordPress Websites**](https://wp-content.co/add-custom-code-to-your-wordpress-websites/)
{% endhint %}


# Custom Permalink - Slug Issue

Custom permalink structure may lead to a custom slug being added to each job page. For example, if you are using this structure: `/blog/%postname%/`, it may lead to `/blog` being prefixed to the job page's slug. Since this is not the expected result, you can use the below code snippet to change it.

```php
function awsm_job_openings_custom_args( $args ) {
	$args['rewrite']['with_front'] = false;
	return $args;
}
add_filter( 'awsm_job_openings_args', 'awsm_job_openings_custom_args', 11 );
```

**Note:** After adding the code, please go to WordPress Settings > Permalinks and click Save Changes.

{% hint style="info" %}
[**How to Easily Add Custom Code to Your WordPress Websites**](https://wp-content.co/add-custom-code-to-your-wordpress-websites/)
{% endhint %}


# Limit the file size

If you need to limit the upload file size you can use the below code snippet.

In the code snippet, we are limiting the file size to 1 MB. Please change the value to your preferred choice.

```php
function awsm_application_upload_size_limit( $size ) {
	if ( is_singular( 'awsm_job_openings' ) ) {
		$size = 1 * 1024 * 1024; // 1 MB
	}
	return $size;
}
add_filter( 'upload_size_limit', 'awsm_application_upload_size_limit' );

function awsm_job_application_submitting() {
	global $awsm_response;
	if ( count( $awsm_response['error'] ) === 0 && isset( $_FILES ) && count( $_FILES ) > 0 ) {
		$error = false;
		foreach ( $_FILES as $file ) {
			$limit = 1 * 1024 * 1024; // 1 MB
			if ( $file['size'] > $limit ) {
				$error = true;
			}
		}
		if ( $error ) {
			$awsm_response['error'][] = 'The file you have selected is too large';
		}
	}
}
add_action( 'awsm_job_application_submitting', 'awsm_job_application_submitting' );
```

{% hint style="info" %}
[**How to Easily Add Custom Code to Your WordPress Websites**](https://wp-content.co/add-custom-code-to-your-wordpress-websites/)
{% endhint %}


# Modify or Remove the Structured Data

By default, WP Job Openings adds `JobPosting` structured data to all the active jobs. Adding structured data makes your job postings eligible to appear in a special user experience in Google Search results. WP Job Openings uses the Google recommended JSON-LD format for the structured data. You can use the below code snippets to modify or remove the structured data.

#### Modify the structured data

Including the excerpt as the Job Description instead of post content.

```php
function awsm_job_custom_structured_data( $data ) {
	$data['description'] = wpautop( get_the_excerpt() );
	return $data;
}
add_filter( 'awsm_job_structured_data', 'awsm_job_custom_structured_data' );
```

#### Remove the structured data

```php
add_filter( 'awsm_job_structured_data', '__return_empty_string' );
```

{% hint style="info" %}
[**How to Easily Add Custom Code to Your WordPress Websites**](https://wp-content.co/add-custom-code-to-your-wordpress-websites/)
{% endhint %}


# Remove 'All' prefix from the filter

If you need to remove the word "All" from the filter. Here's is the code to how to do it.

```php
function awsm_jobs_filter_label( $label ) {
	return str_replace( 'All ', '', $label );
}
add_filter( 'awsm_filter_label', 'awsm_jobs_filter_label' );
```

{% hint style="info" %}
[**How to Easily Add Custom Code to Your WordPress Websites**](https://wp-content.co/add-custom-code-to-your-wordpress-websites/)
{% endhint %}


# Sort by title

If you need to sort by title. Here's is the code to how to do it.

```php
function awsm_job_custom_query_args( $args ) {
    $args['order'] = 'ASC';
    $args['orderby'] = 'title';
    return $args;
}
add_filter( 'awsm_job_query_args', 'awsm_job_custom_query_args' );
```

{% hint style="info" %}
[**How to Easily Add Custom Code to Your WordPress Websites**](https://wp-content.co/add-custom-code-to-your-wordpress-websites/)
{% endhint %}


# WP-CLI

{% content-ref url="/pages/-MZCu4cTM5NfEovo6M01" %}
[Managing Form Builder Options](/developers/wp-cli/managing-form-builder-options)
{% endcontent-ref %}


# Managing Form Builder Options

### Importing and Exporting Form Builder Options

#### Export

```
wp option get awsm_jobs_form_builder --format=json > awsm-jobs-form.json
```

#### Import

```
wp option set awsm_jobs_form_builder --format=json < awsm-jobs-form.json
```

### Reset Form Builder Options

```
wp option delete awsm_jobs_form_builder
```


# CRM Integration

Integrating WP Job Openings Plugin with CRM: A Guide to API Calls

WordPress, with its extensive ecosystem of plugins, provides a powerful platform for managing job applications through the WP Job Openings plugin. If you're looking to enhance your workflow by connecting this data with a Customer Relationship Management (CRM) system, using API calls is a robust solution. In this guide, we'll walk you through the process of sending parameters from WP Job Openings to your CRM using API calls.

#### Understanding the Workflow

The key to this integration lies in the '**awsm\_job\_application\_submitted**' hook, which is triggered when a job application is submitted. By leveraging this hook, you can access the application ID and retrieve detailed application data.

```
// Get application data when 'awsm_job_application_submitted' hook is triggered
function awsm_get_application_data( $application_id ){
    // ... (Retrieve application details as per your requirements)
    return $applicant_details;
}

// Send application data to CRM
function send_data_to_crm( $application_id ) {
    $application_data = awsm_get_application_data( $application_id );

    // Process $application_data as per your CRM API requirements

    // Set up the arguments for the POST request.
    $args = array(
        'body' => json_encode($application_data),
        'headers' => array(
            'Content-Type' => 'application/json',
        ),
    );

    // Send the POST request to the CRM API.
    $response = wp_remote_post($crm_api_url, $args);
}

// Hook into the application submission event
add_action( 'awsm_job_application_submitted', 'send_data_to_crm' );

```

#### Extracting Job ID and Adding Reference ID

To enhance your CRM integration, you can extract the job ID from the application data and add a reference ID using Advanced Custom Fields (ACF).

```
// Get the job ID from application data
$job_id = $application_data['awsm_job_id'];

// Use ACF to get the reference ID
$reference_id = get_field( 'custom_field_name', $job_id );

```

This allows you to link job applications with specific reference IDs in your CRM, providing a structured way to organize and analyze the data.

#### Customizing Data Processing for CRM Integration

Before sending data to the CRM via API, make sure to process the application data according to your CRM's requirements. This may involve mapping fields, formatting data, or any other steps necessary for a seamless integration.

#### Testing and Troubleshooting

As with any integration, thorough testing is essential. Monitor the API calls using debugging tools to ensure that data is transmitted correctly. Check for error responses and handle them appropriately to maintain the integrity of your CRM records.

#### Conclusion

Integrating WP Job Openings with a CRM system through API calls can significantly streamline your recruitment processes. By tapping into WordPress hooks and leveraging ACF for reference IDs, you can create a seamless flow of data from job applications to your CRM, enhancing your ability to manage and analyze applicant information. Keep in mind that CRM API requirements may vary, so consult your CRM's documentation for specific details on formatting and authentication for API calls.


# FAQ

Please visit the link below for commonly asked support questions and it's solutions.

{% embed url="<https://wpjo.helpscoutdocs.com>" %}


# Sources and Credits

#### Icons

* [Font awesome](https://fontawesome.com/)
* [Flaticons](https://www.flaticon.com/)
* [Animaticons.co](http://animaticons.co/)

#### jQuery Plugins

* [Clipboard.js](https://clipboardjs.com/)
* [Select2](https://select2.org/)
* [Selectric](http://selectric.js.org/)
* [jQuery Validation](https://jqueryvalidation.org/)


