Dealing with troublesome themes
Some themes don’t play nice with single job pages. This is usually down to a highly custom, or poorly coded, 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)
The majority of themes do this just fine – its the standard way of doing things. Just refer to the default WordPress themes (Twenty Twelve for example) to see how things should be done.
↑ Back to Top Determining if the issue is the theme
To check the theme is actually causing the issue, simply change to the Twenty Twenty theme included with WordPress and see if things look correct.
↑ Back to Top Fixing your single template
First things first, understand that jobs are just a custom post type. That means we can use the template hierarchy to our advantage.
If you create a template file in your theme called single-job_listing.php, it will always be used for jobs. As a starting point, you can copy the contents of single.php or page.php into this file so it contains the html your theme uses.
Now you can customise your single-job_listing.php. Remove code, add code, add a valid loop.
↑ Back to Top A valid loop
Here is an example of a valid loop, complete with heading and content:
As long as you have something like the above, job listings will be output as intended.