Skip to content

You can let candidates fill in a short profile in one screen: headline, summary, skills, location and a photo. Use it where a full resume is too much, such as onboarding, a sidebar or a modal.

  • Profile photo (optional)
  • Headline - required, for example “Senior Backend Engineer - 8 years - open to remote”
  • Professional summary
  • Top skills - comma-separated, for example “PHP, Laravel, MySQL”. The candidate directory Skills filter uses them.
  • Years of experience
  • Location - free text
  • Open to new opportunities - when on, the candidate appears under Open to Work in the member directory filters

The button reads Save profile. A “Profile saved” message shows for a few seconds and the form keeps the values so the candidate can keep editing.

The form edits the signed-in candidate’s existing resume and creates one on the first save. It does not read ?resume_id=. If the candidate has several resumes, use the Resume Builder to edit a specific one.

A resume created by this form starts as Public, so it can appear in the candidate directory straight away. After that, the form does not change the Public switch. The candidate changes it in the Resume Builder. The site’s directory visibility setting still applies.

Insert Resume Form (Quick Profile) from the block inserter, in the Widgets category. The block sidebar has two options:

  • showPhotoField - set to off to hide the photo upload. Default on.
  • compact - a denser layout for narrow columns. Default off.
[wcbp_resume_form_simple]
[wcbp_resume_form_simple compact="true" showPhotoField="false"]

Signed-out visitors see “Please log in to complete your profile.”

The wcb_resume_form_fields filter adds fields to this form, the Resume Builder and the single-page form at once. It receives the field groups (an empty array by default) and the resume post ID, and returns the groups.

add_filter( 'wcb_resume_form_fields', function ( $groups, $resume_id ) {
$groups[] = array(
'id' => 'preferences',
'label' => __( 'Work preferences', 'my-theme' ),
'fields' => array(
array(
'key' => '_wcb_preferred_timezone',
'label' => __( 'Preferred timezone', 'my-theme' ),
'type' => 'select',
'options' => array(
'utc' => 'UTC',
'est' => 'EST',
'pst' => 'PST',
'ist' => 'IST',
),
),
),
);
return $groups;
}, 10, 2 );

Each group has id, label and fields. Each field has key, label and type (text, textarea, email, tel, url, number, date, select, checkbox, radio or multiselect), plus optional required, placeholder, description and options (a value-to-label map). See Custom resume fields.