Author Archive

How does search by location works?

There are two ways the ‘location’ field in search can work. The presence of Google Maps API key for server side geocoding in Listeo Core determines which one is used.

  1. If the API key is added the address typed in ‘location’ field is geocoded to latitude and longitude and all properties that are in the selected radius of that point are returned in search results. The radius  value can be set by default in Listeo Core options (it’s 50km by default). Related articles: Radius search → 
  2. If there’s no API key added the search is strictly text based, the text typed by user is compared to the content of property, property title, and every custom field attached to property to find matching results.

Job Statistics

Employers and site owners can open a detailed overlay for each job listing. The analytics data includes page views and unique visits to the job page, interest indicators like clicks on the apply button, and search impressions (how many times the listing has appeared on the site among job search results).

Search impressions are dynamic and only counted when a listing is scrolled into view on the visitor’s screen.

To enable statistics go to Job Manager → General →  Enable Job Statistics

Once enabled your users will be able to check stats for their jobs in their dashboard

as a site admin you can browse stats for every listing in WordPress Dashboard by clicking on “Views”

How to add PHP snippets?

You can add code into your functions.php file in child-theme or use WP Code plugin


function.php method

Appearance → Theme File Editor and select Theme Functions file in sidebar. Use child-theme otherwise snippet will be overwritten/lost after update.


WPCode plugin method

WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager

WP Code will be more suitable for most cases. Head over to WP Code, select Add Snippet and Add Your Custom Code (New Snippet)

In next step choose PHP Snippet

Paste snippet, toggle “inactive” to “active” button near Save button and Save

Done. Make sure it’s activated

User Login / Registration

All registration options are simplified and you’ll find them in WorkScout Core → Registration Options. You can also set up recaptcha there.

Also don’t forget to enable registration in  Settings → General → Membership → Anyone can register.

Related article: How to enable social login?

How to speed up your website? 🚀

In this article, we will share the most useful WordPress speed optimization tips to boost WordPress performance and speed up your website.

Results achieved with WP Rocket caching plugin and Rocket.net hosting


The Basics

  1. Decent hosting
    No matter how much effort you put into optimizing your website, most of its success depends on the quality of your hosting. Even with a high-end VPS  your WordPress site might still not be as fast as you’d expect because website speed depends on several factors beyond just server resources.
    We recommend Rocket.net or Cloudways for resource demanding websites
  2. Caching plugin + lazy loading images.
    Free performance plugins you might try: WP Optimize or LiteSpeed Cache + Lazy Load
    Performance plugin that we tested and recommend: WP Rocket
  3. Cloudflare is a must-have; reducing load times by delivering cached content from servers closest to the user
  4. Don’t fix yourself on Google Page Speed Insights. The Google PageSpeed Insights score isn’t always a real reflection of a website’s actual speed because it mainly evaluates theoretical performance based on a set of lab metrics, not real-world user experience.
    Instead check your website performance at GTmetrix.com or SpeedVitals.com

WP Rocket Recommended Settings

  1. File Optimization
    âś… Minify CSS files
    🟨 Optimize CSS delivery (if you notice any errors on your website after having activated this setting you should deactivate it as gains are not worth having visual glitches)
    âś… Minify JavaScript Files
    âś… Combine JavaScript files (make sure JavaScript still works properly afterward)
    🟨 Load JavaScript deferred (you can test however in some cases could cause issues with scripts)
  2. Media
    âś… Enable LazyLoad for images
    âś… Enable LazyLoad for CSS background images
    âś… Enable LazyLoad for iframes and videos
    âś… Add missing image dimensions
  3. Preload
    âś… Activate Preloading
    🟨 Enable link preloading (you can enable it but this could be demanding on server because it downloads a page each time when a user hovers over the link)
  4. Advanced Rules
    ✅ Cache Lifespan set to 10 hours (or less if you experience issues with logging in via popup, if it still happens from time to time we suggest enabling “Skip additional login/registration security check” option in WorkScout Core → Registration)
  5. Database
    You can use every feature there to keep database clean
  6. CDN 
    Not needed if your hosting already has CDN.
  7. Hearbeat
    âś…Control hearbeat and set to “reduce activity”
  8. Image Optimization
    âś…
    You can use Imagify from WP Rocket or EWW Image Optimizer

WP Rocket works with all hosting providers however, certain hosts (like SiteGround – you should disable File-Based Caching in their plugin) include their own caching plugins and you’ll need to adjust these built-in caching settings for optimal compatibility with WP Rocket.


Advanced Tweaks

If you want to get the most out of your website in terms of speed, we highly recommend carefully reading this article:

Speed Up Your Slow WordPress Site In 21 Steps: The Only Tutorial You Need To Pass Core Web Vitals Totally Revamped For 2025

WooCommerce Paid Listings

WooCommerce Paid Listings is an add-on for WP Job Manager that enables you to sell listing packages through WooCommerce.

How it works? You create products in WooCommerce that represent different listing packages. Users can purchase these packages, which grant them the ability to post listings.

The available package types include:

  1. Job Listing Packages – for posting job listings.
  2. Resume Packages – for submitting resumes.
  3. Task/Micro Job Packages – for offering small freelance micro jobs (tasks or gigs)

This setup allows you to monetize your website by charging users for posting job listings, resumes, or micro-jobs.

Setting up WooCommerce products as job/resume/microjobs packages

After installation the first thing you’ll need to do is setup some products in WooCommerce which job submitters can purchase.

  1. Create a new product
  2. Select a package product type:
    1. Job Package – A package which lets a user post X jobs before expiring.
    2. Resume Package – A package which lets a user post X resumes before expiring. Requires Resume Manager add-on.
    3. Task package – A package that lets users post X tasks/microjobs.
    4. Job Package Subscription – Requires WooCommerce Subscriptions. See below for more information.
    5. Resume Package Subscription – Requires WooCommerce Subscriptions and Resume Manager add-on. See below for more information.
  3. Enter price and other product details like any other product. Job/Resume Package products can be free or paid – your choice!
  4. Package specific options are as follows:

    • Listing limit – How many job or resume listings this package lets you create once purchased. Can be left blank for unlimited posting.
    • Listing duration – How long job/resume listings last (in days) before expiring when using this package.
    • Feature listings? – Whether or not job listings should be featured when using this package.
  5. Publish the product

The published package will then be available during job submission.


Subscriptions Support

Job Packages can also be subscriptions, but this requires the WooCommerce Subscriptions extension from WooThemes. You can have both Job and Resume Subscription packages.

Subscriptions can work in two ways.

  1. Package linked to the Subscription: If the subscription is linked to the listing, the user will be able to post a limit of X active listings which will expire when the subscription expires. Failure to renew will expire the listings.
  2. Subscription linked to the Listing: If the subscription is linked to the listing, the user will be able to post a limit of X active listings which will expire when the subscription expires. Failure to renew will expire the listings.

Job Submission Flow

WC Paid Listings will change the job submission process slightly to add the required purchase/job pack steps. This is how it should happen:

  1. User fills in the job submission form as normal
  2. User previews the job as normal
  3. Then he choose a package screen will be displayed. This page lists all Job Package products and previously purchased active job packs:
  4. User chooses a package and clicks submit.
    If this is a new package, it will be added to the WooCommerce cart, referencing the Job ID. Once paid for, the job will be approved and the package assigned to the user.
    If this is a package that has already been purchased, the job will be submitted right away.

The same flow is used for resumes

How to change some texts/words?

If you would like to change some texts from english to english (translating to another language is described here) you can do it using SayWhat? plugin that allows you to alter strings on your site without editing WordPress core:

Say what?

After installing SayWhat? plugin go to Tools → Text Changes and click “Add New“. In “Original string” field write original text, then in “Text domain” field add workscout_core or workscout and in “Replacement string” field add new text. Some strings may have other text domain like mas-wp-job-manager-company or wp-job-manager-alerts etc.

Some texts might come from other plugins. Please click here to find instructions on how to find text_domain.

In this example we changed text above search input field on homepage from “What job are you looking for” to “Find great places to work”.

Click “Add” and voila:


How to find text_domain?

Install Text Domain Inspector: https://wordpress.org/plugins/text-domain-inspector/

Enable it at the admin toolbar and you will see red dots. Hover over a dot and you will see text domain relevt to the text you need.

Setting up “Apply For Job”

Using WorkScout and WP Job Manager, candidates have different option to apply for jobs.

Method 1 – Default

By default the popup shows only email of the Employer or the email provided in Job details, you can also set external URL for application which will open external website set in Job details by employer


Method 2 – WP Job Manager Contact Listing

By using this plugin you can use one of plugins: Gravity Forms, Ninja Forms, Contact Form 7 to display contact form in the popup – instructions how to set each one are here https://wordpress.org/plugins/wp-job-manager-contact-listing/faq/

When you have the forms, you can choose in Job Listings → Settings → Contact a Job Form – which one should be displayed in popup


Method 3 – Resume Manager add-on

Using Resume Manager add-on from WP Job Manager, Candidates can send the Resume they’ve submitted as an attachment to the Employers email.


Method 4 – Applications add-on

This add-on allows candidates to apply to jobs using a form & employers to view and manage the applications from their job dashboard. There’s also a form builder which helps you build custom
“apply forms”

Setting up WP Job Manager

WP Admin → Job Listings → Settings is the page where you can configure the plugin. You’ll see a tabbed interface showing available setting groups:

Plugins such as Job Alerts may add their own settings tabs here as pictured.

You need 1 unrestircted API key for WP Job Manager geocoding to run theme properly.
Please refer to Step 6 in this tutorial


General Settings

The General tab contains the following settings:

  • Date Format – Choose how you want the published date for jobs to be displayed on the front-end.
  • Google Maps API Key – please refer to Step 6 in this tutorial
  • Delete Data on Uninstall
  • Bypass Trash for Job Listings
  • Enable Usage Tracking

Job Listings Settings

The job listings tab contains the following settings:

  • Listings per page – Controls how many job listings should be shown per page when using the [jobs] shortcode.
  • Pagination Type – Determines whether to show page numbered links or a Load More listings button.
  • Filled positions – If checked, filled positions will no longer be visible when using the [jobs] shortcode
  • Hide expired listings – If checked, expired job listings are not searchable.
  • Hide Expired Listings Content – If checked, the content within expired listings will be hidden.
  • Categories – If checked, job categories will be enabled. These are used to group jobs by category and are also visible on the frontend job submission form if enabled.
  • Multi-select Categories – If enabled, the category select box will default to a multiselect on the [jobs] shortcode.
  • Category Filter Type – Determines the logic used to display jobs when selecting multiple categories.
  • Types – Choose whether you want to enable types.
  • Multi-select Listing Types – If enabled, each job can have more than one type.
  • Salary – If enabled, this lets users add a salary when submitting a job.
  • Location Display – If enabled, this displays the full address of the job listing location when it is detected by Google Maps Geocoding API. If a full address is not available, it will then display whatever text the user submitted for the location.

Job Submission Settings

The job submission tab shows options regarding the job submission process in WP Job Manager:

  • Account required – If left unchecked, non-logged in users will be able to submit job listings without creating an account.
  • Account creation – If checked, non-logged in users will be able to create an account by entering their email address on the job submission form. This is optional depending on the settings below.
  • Account Username – If enabled, a username will be generated from the first part of the user email address. Otherwise, a username field will be shown.
  • Account Password – When enabled, an email will be sent to the new user with their username and a link to set their password. If disabled, a password field will be shown and the new user’s email address won’t be verified.
  • Account Role – If you enable registration on your job submission form, choose a role for the newly registered users. This defaults to Employer.
  • Moderate New Listings – If enabled, new submissions will be inactive, pending admin approval. Only once approved by an admin (published) will they be visible on the frontend.
  • Allow Pending Edits – If enabled, submissions awaiting admin approval can be edited by the user.
  • Listing duration – How many days listings are live before expiring. Can be left blank to never expire. Published jobs will automatically be set to expire based on this setting. Please note that WC Paid Listings can override this setting.
  • Listing Limits – How many listings are users allowed to post. Can be left blank to allow unlimited listings per account.
  • Application Method – Choose the contact method for listings.
  • Terms and Conditions Checkbox – this allows you to require employers to check a Terms and Conditions box before submitting the job listing. Note that WPJM does not create this page or it’s contents for you. Once created, the page can be set in Job Listings->Settings->Pages.

ReCaptcha Settings

WP Job Manager (and the Applications and Resume Manager add-ons) have ReCaptcha support built in. To enable it, you’ll need to set up a ReCAPTCHA key at Google’s ReCAPTCHA admin dashboard.

Note that WP Job Manager currently supports reCAPTCHA v2 only, so make sure you select that when registering your site.

You will then be provided with a site key and a secret key, which you can enter in the ReCAPTCHA settings page on your site.

  • Field Label – The label used for the reCAPTCHA field on forms.
  • Site Key – You can get this from the Google ReCAPTCHA admin dashboard.
  • Secret Key – You can get this from the Google ReCAPTCHA admin dashboard.
  • Job Submission Form – Enable this to display the ReCaptcha field on your job submission form.

Pages

The pages tab allows you to select the pages where you’ve inserted the main WP Job Manager shortcodes.

  • Submit Job Form Page: Select the page where you have placed the [submit_job_form] shortcode.
  • Job Dashboard Page: Select the page where you have placed the [job_dashboard] shortcode.
  • Job Listings Page: Select the page where you have placed the [jobs] shortcode.

How to translate theme manually?

We’ve got ready to use translation files however if you’d like to do it precisely on your own here’s guide

WorkScout theme is translation ready. We that assume your WordPress is already in your language. If not, go to Dashboard → Settings → General and change the Site language.


Before you start!

To achieve 100% translation you have to translate WorkScout Theme and following plugins: WorkScout Core, WorkScout Elementor, WorkScout Freelancer and WP Job Manager add-ons

Loco Translate is for translating website from english to another language. If you’d like to have multi-language switcher consider using TranslatePress or Weglot plugin.


Let’s Start

Install plugin  Loco Translate.

Loco Translate

After successful installation go to Loco Translate → Themes you should see this screen:

Click Listeo (not WorkScout ChildTheme) and in next step click New Language

Choose your language and select a location, makes sure it’s either System or Custom location, avoid Author location, this way you won’t lose translations if you update theme/plugins (more about it)

Click Start Translating. You should see that screen where you can translate each string that is used in theme

When you’re done, click Save, and it’s also recommended to click both “Po” and “Mo” buttons to save them on your PC as a backup.


Do I need to translate every word manually?

You can either translate each string manually (best accuracy) or use the Loco Auto Translate plugin. Some translations may need correction, but they also offer pro version which provides access to Google, DeepL, ChatGPT, and Gemini for more accurate translations.

Automatic Translate Addon For Loco Translate


Translate Plugins

To achieve 100% translation you also need to translate WorkScout Core, WorkScout Elementor, WorkScout Freelancer and WP Job Manager add-ons plugins. The process is the same as translating theme. Go to Loco Translate → Plugins and start there.


Dashboard menu

Some links in dashboard menu are page titles which you can edit by editing page title.