WPJobBoard 5.5.0 – Multiple Forms and PSD2 compliance

We just released WPJobBoard 5.5.0 and you should soon see this update in your wp-admin panel. If you will not see it within 24 hours go to wp-admin / Dashboard / Updates panel and click the “Check Again” button it should show then.

New WPJB version introduces one new, big feature, and a few minor changes and updates and a very important update to Stripe integration.

Multiple Forms

Multiple forms editor

This is the feature we are most proud of. Many of you were asking us about the option to use the different form versions on different pages.

Now it is possible.

You can create multiple variations of the WPJB forms (including job, application, resume, company and search forms).

What was previously a “Custom Fields” panel is now a “Forms Manager”, to get there select wp-admin / Settings (WPJB) / Custom Fields panel. You will notice that instead of editing existing forms you now have an option to “Add New“.

The first forms manager iteration aside of creating form versions allows using “form_code” param in the shortcodes. The “form_code” should match a created form name.

Simple example: [wpjb_jobs_add form_code=”test”]

If you won’t provide param, active (or default) form will be used, if you have more then one active form, first on the list will be used as default.

Different application form based on job category

Now, you are probably wondering if it is possible to show different application form, based on job category? By default, no, but using a “wpjb_form_scheme” filter you can do that.

add_filter( "wpjb_form_scheme", "wpjb_form_scheme", 10, 3 );
function wpjb_form_scheme( $param, $context, $job_id ) {
    // We made this only for apply forms
    if( $context != "apply") {
        return $param;
    // We get category slug and search for form with code equal to category slug
    $job = new Wpjb_Model_Job( $job_id );
    $slug = $job->getTag()->category[0]->slug;
    $param['custom'] = rtrim( "wpjb_form_apply_" . $slug, "_" );
    return $param;

Now if you have a job with category set to “IT” (with slug “it”) then when a user will view the job details page after clicking a “Apply Online” button he will see the “it” form.

The form edition looks like before. Thre is only one change.

In the top right, you see 3 new fields.

  • Label – it is the name of the form scheme. This will be visible mainly in admin panel. Use a label which will allow you to identify what the form is for.
  • Code should contain only a-z, 0-9 and _ characters. The code is automatically generated from the Label. If you will want to display a selected form version then the value in the Code field should be used as the value of the “form_code” param.
  • Active checkbox allow selecting if the form is active or not, this checkbox will be implemented in one of next releases, for now you can think of it more as a “Default” form.

Jobs and Resumes List Search

Until now using the Custom Fields panel it was possible to customize only the [wpjb_jobs_search] and [wpjb_resumes_search] shortcodes.

Since version 5.5.0 it is now also possible to customize [wpjb_jobs_list] and [wpjb_resumes_list] search forms.

Adding files to e-mails

By default, WPJB attaches uploaded files only to job application emails.

Now you can add any file from available objects for certain e-mail template.

In wp-admin / Settings (WPJB) / Emails panel, while editing an email template at the bottom of the email template edition page, you will see new select fields with name “Attachment (object)”.

An “object” can be job, company, resume or application (depending on what variables are available in the email template). Using a dropdown you can choose which files from a certain object should be attached to this e-mail template.

Opening links in new tab

We know that opening some external pages in the same tab maybe not convenient.

Now, you can decide how certain URLs should behave. They can open either in the same or new tab.

In the Custom Fields editor, you can click edit (cog) icon next to a selected text field and in “Target” input select how the link on click should behave.

This work for any meta field, and also with company_website field in company form, and company_url field in job form, as both are displayed by default in the template, so you do not need to change anything in the template to make this work for both fields.

Print Template

We introduced the template printing some time ago, and you liked it. For testing, we put a template in code to save some development time.

Since you often use this feature and want to have more power over how the print looks like, we put the print template into a separate file.

Now you can find new two print templates in:


first, show how single application print will look like, second is made for printing more than one application at the same time. We do not use single print as part of multiple prints, to allow you to e.g. print table with names and phone numbers.

To make your own print template, just copy both files (or one if you only want to change one) to directory

wp-content/ themes/your_theme/wpjobboard/default/

And customize the copied files. Please note that this will require basic HTML and CSS knowledge, maybe even some basic PHP programming knowledge as well.

Stripe to European Union Regulations

On 14th September 2019, the new European Union regulations called PSD2 will be enforced. The regulations mainly affect EU banks but can indirectly affect website owners as well.

If you have EU based customers and you are charging them using Stripe integration (specifically using credit cards) then the new regulation affects you.

You will need to upgrade WPJB to version 5.5.0 to make sure the Stripe integration will continue to work without interruptions. If you fail to do that then some credit card payments might fail since the Stripe integration in WPJB 5.4 and older does not support 3-D Secure authentication.

The most important changes are in how WPJB communicates with Stripe server but you will also notice some changes in the frontend.

There are no longer multiple inputs in the Credit Card form, they were replaced with more intuitive Stripe Elements input. You will now also have the ability to select a default card (if you have more than one) and delete cards.

The second change is visible in membership payments. Due comply with the new regulations all the payments will go through Stripe Billing checkout. On the WPJB page the user will only need to click “Subscribe” button

Once he does that, the user will be redirected to the Stripe checkout, what is cool about that is the fact that you can enable different payment methods in this checkout.

After creating a subscription user will be redirected to fail or success page. You can set those pages in wp-admin -> Settings (WPJB) -> Configuration -> Stripe. If you do not provide landing page, the user will be redirected to default, simple page.

Other Enchantments

  • New filter “wpjb_use_default_query_search” – This filter allows you to avoid default full-text search by keyword. If you prefer to use your own custom configuration, you can disable default one.
  • New filter “wpjb_narrow_location_search” – There are some cities with the same name in different countries. On search when you do not provide a country it might find a good city but in the wrong country and show nothing. This filter allows you to narrow the search to a certain country by adding e.g. “, UK” to search query, to search only jobs in the United Kingdom.
  • New filter “wpjb_query_allowed_chars” – This filter allows you to set what characters are allowed in the keyword search. Characters not mentioned in this filter will be removed from the query. By default, we allow letters, numbers, and whitespaces.
  • ZipArchive requirement – When your server does not support ZipArchive you will see a notice about that. This library is required to use WPJobBoard export. Without it, export is not possible to execute. Some servers do not have this or have this disabled by default.
  • Memberships Pricings boxes class – each of the boxes on pricings list has it’s own unique class, to allow you to adjust it any way you want. Class is wpjb-single-membership-<ID> where <ID> is id of a membership.
  • Remove Application from employer dashboard – Employer can completely remove the application, this will allow your users to abide by European Union restrictions about private data.

Bug Fix

  • Redirection issues – Sometimes after deleting some object in wp-admin redirection throws an error. It should not happen anymore.
  • HTML in LinkedIn Description – LinkedIn do not allow HTML in shared post description. Now we striped HTML from the description, so HTML tags will be not visible anymore.
  • LinkedIn Warnings – There were some warnings on LinkedIn config page we removed them.
  • Meta fields for search – Meta fields were saved after search object was created. Because of that, it was not possible to add meta fields to search object. It is fixed now.
  • Is Searchable – There was an error when searchable restrictions for resumes was active, but there was no single resume with proper membership. It is fixed now.
  • Search with special chars – Some special chars in job search was causing the error. We limited available characters to letters, numbers, and whitespaces only. Also, we added new filter wpjb_query_allowed_chars, that allow you to manage available characters.
  • Import with emojis – When there was an emoji in job description during import, it causes the error. We strip emojis on import. The long-term solution for this is changing charset in the database, what we will probably perform in next updates.
  • Import e-mail issue – on companies import when new data chunk contains e-mail, old e-mail was overridden. We changed the code to save e-mail from a file only when it is not set.
  • Import skipped objects – because of the issue in counting objects, some objects may be not added to WPJobBoard during import via CSV. The issue is fixed.
  • Import resume notification – when the resume was imported without id but with user_email that was already in the database, import showed information that resume was added with id=0, now correct information about resume update is visible.
  • Import company notification – when the company was imported without id but with user_email that was already in the database, import showed information that resume was added with id=0, now correct information about company update is visible.
  • Datapicker width – on some occasions datepicker show up very narrow. We fixed this issue.
  • Company List Bug – Default filter for list show all companies instead of active. We changed that to show active only by default. You can still show all using shortcode params.
  • Livesearch “Load More” – Button to load more jobs was not visible when livesearch was active. We fixed this, but params passed to shortcode are not used as a downside. We planing next update, that will fix this issue.
  • Employer dashboard filter rejected applications – When employer filtered applications to show only rejected, all records were shown. We fixed it.
  • Employer Dashboard – Expired jobs were counted wrongly, we fixed it.
  • Empty Option Text – When you set empty text for the select field it was not set properly after reloading custom fields editor page. We fixed it.
  • Featured Level in wp-admin – When you created a membership in wp-admin, candidate feature_level was not set properly, we fixed it.
  • Alert remove – There was an error that preventing from removing all alerts at once from Candidate Dashboard. We fixed this.
  • Xing filter correction – Filter that allows adding additional tags to Xing feed had a bad name, we corrected this.
  • Free membership payment process – when there was only one membership and it was free, there was an error on the payment process.
  • Employer List shortcode default filter – previously by default shortcode shows all employers, now default filter shows only active employers (employers that checked to be visible in search results).
  • New applications count in wp-admin Jobs – previously system shows the total number of applications if new status was not found, now, in this case, 0 will be shown.
  • Notices – we removed some reported notices.

Leave a Reply

Your email address will not be published. Required fields are marked *