How to Add Simple Jobs Board Functionality to WordPress [Plugins, Themes & Code]

Add a jobs board listing to WordPress with plugins, themes, or your own code!

A few weeks ago I launched my SEO jobs page. Since I started SEOgadget I’ve wanted to build something that resembled a basic “jobs board” to complement my blog, owing to the fact that a lot of my time over the past few years has been spent on recruitment SEO. Now that my internal linking campaign is over, let’s get on with the post…

How to add basic jobs functionality to your WordPress site

In the past I’ve always advised clients to create industry sector or job title specific pages on their recruitment websites. Why? Apart from creating a meaningful, easy to optimise site structure, you can also get some great content on the page featuring lots of links to jobs you’ve just posted. Here’s a nice example of what I’m talking about on a website like this. The page design is well put together without drawing attention away from the main calls to action.

Before we begin, you might consider getting a WordPress jobs board theme…


My WordPress jobs page is much simpler than the legal jobs board, but it does work. That said, it’s far from a perfect solution if you need to create a full jobs board website. If you’re looking for a fuller, more reliable jobs board plugin, try the JobPress Theme. JobPress can take payments for job submissions via a form integrated with PayPal and has the ability to easily add or remove new employment sectors. The JobPress site explains the features, so take a look.

You could also try Press75′s “TappJobs” theme, which relies on job posting via the Gravity forms plugin. That’s very similar in setup to this blog. If you’re interested in TappJobs, take a look at the theme here.

Posting jobs to WordPress via a submission form

I mentioned Gravity forms earlier, which we use at SEOgadget to write job submissions directly to our WordPress database. Get Gravity forms and give it a try.

Want to code your own with the category page approach?

To make this work, we’re going to modify a copy of the category.php file than controls category pages just like this one, and turn it into a content manageable page.

1) Take a copy of a category page (category.php) and save it on your desktop as jobs-page.php. I’ve created a text file containing the basic code here.

2) Next we need to turn our modified category page into a WordPress page template that you’ll be able to select in the “page template” drop down when you’re creating a page in WordPress.

Wordpress editor page template dropdown

All you have to do is insert the following code right at the top of the page:

<?php
/*
Template Name: [Your template name]
*/
?>

3) Make the page content manageable by adding the The Loop

Our category page doesn’t have the ability to display post content yet. That’s because we’re not using The Loop, which is driven by this tag:

<?php the_post() ?>

So, to get a content managable page, that displays a specific category of posts, you need to insert the following code between the <div id="content"> opening container and the page title: <h2 class="page-title">

The code to insert looks like this:

<?php the_post() ?>
<h2 class="entry-title"><?php the_title(); ?></h2>

<div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>">
<div class="entry-content">
<?php the_content() ?>
</div>

Now we have a page that will display your content and a nicely formatted list of posts directly beneath it. Just a few small tweaks and you’ll have a usable page.

4) Get your new page to always display posts of a set category

First of all you need to define a category matching you want to do. For this example, it’s “Jobs” – which is category 44 in my blog. (You can work out the category number of your new category by clicking to manage>categories and mousing over a category link. The cat_ID= query will show you what you’re looking for.) You could of course use this post to create a simple product page, in fact there are probably hundreds of ways to use it!

To always display posts in a specific category, replace this line:

<div class="archive-meta"><?php if ( !(''== category_description()) ) : echo apply_filters('archive_meta', category_description()); endif; ?>

With this one:

<div class="archive-meta"><?php query_posts('cat=44'); ?>

5) Consider the correct summary text before the category list appears.

Mine is rather imaginatively displayed as: “Below are our latest SEO Jobs”. You could be really creative and say “Below are our top 5 hot jobs” – but that’s a bit too exciting for me.

Look out for the page-title class and take out the dynamic call for the category name. The old code looks like this:

<h2 class="page-title"><?php _e('Category Archives:', 'sandbox') ?> <span><?php echo single_cat_title(); ?></span></h2>

And we’ve simplified it down to this:

<h2 class="page-title"><?php _e('Below are our latest SEO Jobs', 'sandbox') ?></h2>

6) When you’re finished, save your changes and upload your new jobs-page.php file back to the /public_html/wp-content/themes/your-theme/ directory.

Create a new page in the usual way and select your new template. Obviously, you’ll need to create a few test posts in your new category (or add some real jobs / products / news items or whatever you can think of).

7) Don’t want items to appear on your homepage?

Let’s imagine for a second you don’t want to send your rss subscribers or homepage visitors every single job you post from now on. It’s really easy to exclude specific posts from your homepage, category pages and rss feeds independently by installing the “Advanced Category Excluder” plugin, which can be downloaded here.

Have fun breaking creating your new page and please leave comments – I’m really interested to hear alternative ways of achieving the same idea, perhaps with less code? :-)

By the way, if you’re looking for further tips on optimising your jobs board, feel free to take a read of my recruitment SEO guide. Thanks!

Comments

  1. Rasha

    First thanks so much for this helful tutorial , and please can you add thw whole page code , because i didnt find a page called category page in my theme folder

    thanks
    waiting your reply as soon as possible

  2. Kathir

    Hello Richard,

    I wanted to use a similar job board functionality whcih also has a resume uploading facility for candidates. What you have developed is awesome. But both jobpress tapp jobs are not that impressive. I read bad reviews and comments about jobpress theme.

    DO you plan to sell your job board theme or plugin.

    Kathir

  3. Carlo Baptista

    Hi,

    Thanks for the great advice. However when I open the category.php from the folder wp-includes (or category-template for that matter) they look nothing like your sample one. I searched for in both files and found nothing. I am running the latest version of WP 2.9.

    Can you please help?

    Thanks Carlo

  4. larnaclarksontwo

    How’s it going? This forum is huge! I’m the webmaster full-time for Sarasota Memorial Hospital (smh.com – and no, that’s not my design, we are launching a new system end of April). I also do a lot of freelance work.

    Thanks to the Admin, I enjoy reading for a long time, thanks guys.. Beaty at it’s best and keep the good work.
    My latest work!

  5. Website Design

    Dude, I’m loving what you’ve done.. and all by hand. So I visited the SEOGadget site, scoured and devoured your listing pages. Again, I love it. Going to take a stab at it from your above approach. Essentially everything you’ve done without dropping 97 hard ones for the mother of all job board plugins ( Although it rocks ). I wanna do it your way first. Wish Me Luck..

    JD
    Twitter.com/snagfly

  6. Bob

    i want to use this code on my blog to add more functionality and to help my readers. I also have job site using wordpress platform. I hope this will work for me. Thanks for this tip.

  7. Alex

    Wow, this is an excellent approach to doing it yourself. The problem I was coming across was that I wanted to install JobPress as a section of an existing site which was already based on WordPress. I couldn’t get 2 WP installs on the same site for some reason, even though they were in different directories, so it just wasn’t working out. Coding it as a template like this is an awesome workaround. Thanks!

  8. Van Nuys

    A few people I know have tried to add job board listings as well as business directories to WP. It’s a little above and beyond my abilities, but definitely worth doing. Thanks for the informative article!

  9. Alessandro

    Hi John!
    I tried the free version, no use for the paid one for me. It’s really cool! I am using it for a agent job in my area and it makes perfectly sense. The twitter and FB apps are also a great added value. I certainly thumb your plugin up!

  10. John Dennehy

    Thanks Alessandro. It’s great to get your feedback and I’m delighted you’re getting good use of the app. We’ve had quite a few signups from Italy for some reason.