Some themes may not be fully compatible with single job pages, usually due to the structure of a theme’s single.php
template.
In order to work, WP Job Manager requires the single template to contain:
- Content being output via the_content() function (see https://codex.wordpress.org/Function_Reference/the_content)
- A valid ‘loop’ (see http://codex.wordpress.org/The_Loop)
Most themes adhere to this convention, as it’s a commonly accepted approach. You can look at the default WordPress themes, like Twenty Twenty-Three, for a reference.
Determining if the issue is the theme
To confirm whether or not an issue is due to a theme, switch your site’s theme to a default theme included with WordPress such as Twenty Twenty-Three or Storefront, then see if the issue persists. If everything works as expected, the issue is the theme.
To ensure compatibility, WP Job Manager and its add-ons are optimized for the most recent default WordPress theme and Storefront. This makes either option a great choice for troubleshooting issues linked to other themes.
Fixing your single template
Think of jobs as a special category of posts. This lets us tap into WordPress’s built-in system for organizing templates.
Creating a New Theme Template File
- Navigate to your theme’s directory on your site.
- Create a new template file named
single-job_listing.php
. - To start, you can duplicate the contents from
single.php
orpage.php
into this new file. This ensures your job listings maintain the look and feel of your theme.
Customizing the Theme Template File
- Open
single-job_listing.php
. - Feel free to modify its content: remove sections, add new code, or adjust as needed.
- Ensure you have a valid loop in place to display the job details.
A valid loop
Below is a sample loop that includes both a heading and content. By incorporating a similar structure, your job listings should display as intended.
<?php while ( have_posts() ) : the_post(); ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="entry-content">
<?php the_content(); ?>
</div><!-- .entry-content -->
<?php endwhile; // end of the loop. ?>
Which template?
Sometimes it’s hard to figure out which template file is used on a page. You can try using a plugin such as What the file to figure out the template that is used.
Once you know the template that is used, you can try overriding the template you need to change. Please check out this tutorial for overriding WP Job Manager templates.
Elementor
Although Elementor is not a theme but a plugin, it’s often mentioned with theme-related questions. WP Job Manager doesn’t fully support Elementor.
You may consider a 3rd-party extension to integrate Elementor, such as Elementor Connector. Please note, we cannot guarantee that this extension will work 100% as we do not have control over the codebase of 3rd-party extensions. For any inquiries about Elementor Connector, please reach out to the developers of the plugin at https://tinygiantstudios.co.uk/my-account/premium-support/ directly.
Divi
Although Divi is a plugin rather than a theme, we can’t guarantee WP Job Manager will be fully compatible with Divi.
WPBakery
While WPBakery is a plugin like Elementor rather than a theme, we can’t guarantee that WP Job Manager will be fully compatible with WPBakery.
Gutenberg block editor
Since WP Job Manager was built with frontend usage in mind, we haven’t made it fully compatible with the block editor, yet. We recommend adding jobs using the frontend form. However, if you decide to use WP-Admin, job post content will be added as a classic block.
Themes with Full-site Editing (FSE)
WP Job Manager is not 100% compatible with Themes using Full-site Editing (FSE), so you cannot customize the Job Manager template pages using FSE. You can use the WP Job Manager with Block Themes instead.
Bundled Themes
Themes that bundle our WPJM add-ons are not supported by us and cause unexpected issues.