Here is exactly what your customers see when they buy a recurring package, how they manage or cancel it later, and the few settings you control behind the scenes.
Author Archive
Getting Started
Install WorkScout Monetization Plus and configure recurring or one-time packages and paid memberships with Stripe, Paddle, Polar, or Dodo Payments.
GDPR Compliance
GDPR Compliance
WP Job Manager’s parent company, Automattic, is committed to GDPR compliance. For the most current information about Automattic and GDPR, visit their official support page.
WP Job Manager includes a “Delete Data on Uninstall” setting located under Job Listings > Settings > General that allows for data removal when the plugin is uninstalled.
About Individual Deletion or Extraction
It is important to note that WP Job Manager and its add-ons do not offer individual user data deletion or extraction features directly.
WordPress core manages user records. For information about WordPress and GDPR compliance tools, refer to:
- GDPR Compliance Tools in WordPress
- Roadmap: Tools for GDPR Compliance
Third-party plugins may be available to accomplish user deletion and data deletion if needed.
The “Delete Data on Uninstall” option removes employer and candidate roles but does not delete user accounts. User data for Resume Manager and Applications is stored in wp_posts and wp_postmeta tables. Removing file uploads first is recommended before deleting resume and application data to avoid complications.
Tutorial: Remove the Resume Preview Step
Note: All code examples on this site are provided for developer reference/guidance only and we cannot guarantee that they will always work as expected. Our support policy does not include assistance with modifying or debugging code from any code examples, and they may be changed or removed if we find they no longer work due to changes in our plugins.
To remove the Preview step during the resume submission process, add the following code to a plugin like Code Snippets:
/**
* Remove the preview step when submitting resumes.
* @param array $steps
* @return array
*/
add_filter( 'submit_resume_steps', function( $steps ) {
unset( $steps['preview'] );
return $steps;
} );
/**
* Change button text.
*/
add_filter( 'submit_resume_form_submit_button_text', function() {
return __( 'Submit Resume', 'wp-job-manager-resumes' );
} );
/**
* Since we removed the preview step and it's handler, we need to manually publish resumes.
* @param int $resume_id
*/
add_action( 'resume_manager_update_resume_data', function( $resume_id ) {
$resume = get_post( $resume_id );
if ( in_array( $resume->post_status, array( 'preview', 'expired' ), true ) ) {
delete_post_meta( $resume->ID, '_resume_expires' );
$update_resume = array();
$update_resume['ID'] = $resume->ID;
$update_resume['post_status'] = get_option( 'resume_manager_submission_requires_approval' ) ? 'pending' : 'publish';
$update_resume['post_date'] = current_time( 'mysql' );
$update_resume['post_date_gmt'] = current_time( 'mysql', 1 );
wp_update_post( $update_resume );
}
} );
Basically this does a few things:
- Remove the preview step
- Change preview text to Submit Resume
- Manually publish resume (as the preview handler normally does this)
Email Notifications
Email Notifications
WP Job Manager Email Notifications are managed via Job Listings > Settings > Email Notifications
By default, an email will be sent to the site administrator when a job listing is submitted or updated via the front end (adding/updating jobs via the back end is not recommended).
From the Email Notification settings you are able to change the recipient for the emails and set the email format to either plain text or rich text. You can also disable them by unchecking the box next to each email notification.
The email notification settings for Expiring Job Notices also have the option to specify the number of days before expiry that the emails should be sent.
Third-Party Plugins and Advanced Customization
For more complex email solutions, you will need to use a third-party plugin. Here are a few recommendations:
- The WP Job Manager Emails plugin provides native support and includes email templates
- The Post Status Notifier sets up notifications when the status of a job listing changes
- Or, if you feel comfortable with editing code, you can add custom code to send notification emails
Our add-ons may also send notifications:
- Applications send a confirmation email to both employers and candidates
- Job Alerts sends emails to candidates
- Resume Manager will email new resume submissions to the administrator if enabled
- WC Paid Listings does not send emails; WooCommerce does depending on your settings
Email Templates
Template files handle WP Job Manager email notifications. You can override the email templates by copying them to your theme and making edits there, for example: Copy from wp-job-manager/templates/emails/employer-expiring-job.php to yourtheme/job_manager/emails/employer-expiring-job.php
Troubleshooting
Emails are not sent
WP Job Manager uses the wp_mail() function – a core WordPress function – to send emails. If emails aren’t being sent/received, the issue relates to your web host’s core email function, not WP Job Manager.
With Resume add-on, Application Email notifications are not sent
If you have both Applications and Resume add-ons and force applicants to apply with a resume, applications process through Resume Manager, not Applications. Configure candidates to apply with the Applications form by disabling the Force Apply with Resume option under Resumes > Settings > Apply With Resume.
Simple Paid Listings
Overview
Using the Simple Paid Listings plugin you can charge a single fee to list a job on your site using either Stripe or PayPal to collect the funds.
Note that this plugin does not allow coupons, discounts, or anything other than a simple “pay $X for job listing”. For additional capabilities, consider using WooCommerce Paid Listings instead.
Installation
To install this plugin, please refer to the guide at: https://wordpress.org/support/article/managing-plugins/#installing-plugins
Setup
After installation, head over to Job Listings > Settings > Paid Listings to configure your paid listings and gateways:
- Listing Cost – Enter the cost of new listings, excluding currency symbols (e.g., 9.99)
- Currency Code – Enter your desired currency code (USD for US Dollars, GBP for British Pounds Sterling)
- Payment Gateway – Choose either Stripe Checkout or PayPal Standard
Stripe Checkout Settings
- Secret Key – Obtain from Stripe; test mode requires keys prepended with sk_test_
- Publishable Key – Obtain from Stripe; test mode requires keys prepended with pk_test_
PayPal Standard Configuration
- PayPal Email – Your seller’s PayPal email address
- PayPal Identity Token – Optional but recommended for Payment Data Transfer verification
- PayPal Sandbox – Enable for testing without live payments
Job Submission Flow
The submission process is identical up to the preview page. On preview, the confirm button changes to “Pay for Listing”.
With Stripe Checkout
Clicking “Pay for Listing” opens the payment page. Upon successful payment, the job is marked paid and goes live or awaits approval based on your settings.
With PayPal Standard
Users are redirected to PayPal’s site for payment. After completion, they return to the job submission page.
Security/HTTPS
When using Stripe Checkout, set your Job Submission page to HTTPS.
Troubleshooting
Do not use Simple Paid Listings simultaneously with WooCommerce Paid Listings, as this causes unexpected behavior.
Applications: Limiting applications to a certain role
Please note: All code examples and plugin suggestions are provided for reference or guidance only, and we cannot guarantee that they will always work as expected. Our support policy does not include assistance with modifying or debugging code from any code examples, or providing support for any suggested 3rd-party plugins.
A common request is to limit the actual application form to a certain user role. This is possible with a small amount of customisation, as follows:
1. Override the Template File
Copy the plugin file wp-job-manager-applications/templates/application-form.php to YOURTHEME/wp-job-manager-applications/application-form.php. The version you copy to your theme will take priority.
2. Edit the Template File
Inside your newly copied file, you can use the current_user_can function to check if a user can apply.
At the top of the file add:
<?php if ( current_user_can( 'ROLE' ) ) : ?>
Replace ROLE with your desired role or capability, for example, ‘subscriber’.
At the end of the file add:
<?php else : ?> Custom content here shown to users without access. <?php endif; ?>
The application form will now only be visible to the users with permission.
Note: According to the WordPress codex on the current_user_can function, checking against roles rather than capabilities may produce unreliable results, so custom implementations cannot be guaranteed to work consistently.
Applications: Customising Application Statuses
Applications by default has the following statuses (these are custom post type statuses):
- New
- Interviewed
- Offer Extended
- Hired
- Archived
- Rejected
From version 1.7.0+ these statuses can be customised by using the filter job_application_statuses.
Adding a Status Example
This example adds a new status called ‘Example’. The code would be placed in your theme functions.php file or a custom plugin.
add_filter( 'job_application_statuses', 'add_new_job_application_status' );
function add_new_job_application_status( $statuses ) {
$statuses['example'] = _x( 'Example', 'job_application', 'wp-job-manager-applications' );
$statuses['another_example'] = _x( 'Another Example', 'job_application', 'wp-job-manager-applications' );
$statuses['a_third_example'] = _x( 'A Third Example', 'job_application', 'wp-job-manager-applications' );
return $statuses;
}
Removing a Status Example
This example removes the ‘offer extended’ status.
add_filter( 'job_application_statuses', 'add_new_job_application_status' );
function add_new_job_application_status( $statuses ) {
unset( $statuses['offer'] );
return $statuses;
}
Applications: Limit past applications per page
By default, the [past_applications] shortcode displays 25 past applications per page. To change that, add the following code using the Code Snippets plugin and adjust the value as desired:
add_filter( 'job_manager_job_applications_past_args', 'change_past_application_args');
function change_past_application_args( $args ) {
$args['posts_per_page'] = 5;
$args['offset'] = ( max( 1, get_query_var( 'paged' ) ) - 1 ) * $args['posts_per_page'];
return $args;
}
Adding Jobs via Admin
Adding Jobs via Admin
Warning! Adding/editing jobs via the backend, wp-admin dashboard is not recommended. This is because several verification steps are not taken when adding a job this way. WP Job Manager is designed in such a way that all jobs should be submitted via the frontend job submission form.
The Add New link, under the Job Listings menu item in admin, will show the Add Job Listing page.
Enter the job title and description
First fill out the “job position title” field at the top with the name of the job you are listing. This is the post title.
Next, beneath that you’ll see a visual editor which you can add the job description in. This is the post content.
Set job meta data
Next, look at the job listing data panel below. This is where you enter job and company details for the listing.
The fields include:
- Job Location – Enter the location of the Job being as detailed as you wish. Leave blank if the job is a telecommuting position.
- Application email/URL – You may enter a URL if the job can be applied for via a website, or enter an email address for applicants to send their application to.
- Company name
- Company website
- Company tagline – Tagline should be a short description of the company.
- Company Twitter – Twitter name, e.g. @company
- Company Logo – Upload a logo, or enter the logo’s URL here.
- Position Filled – check the checkbox if the job is filled/not accepting any more applicants
- Feature this job listing – check this checkbox to feature the job.
- Job expires – The expiry date for this job in yyyy-mm-dd format.
Set category and job type
In the sidebar you will see two taxonomies; job categories and job types. Select one job type, and as many categories as you wish.
Publish your listing
When you are done, hit publish to make the Job Listing live.
Approve listings under moderation
When the option “Moderate New Listings” is enabled, you should use the button “Approve” instead of using the button Publish.