How to add simple jobs board functionality to Wordpress

Add a jobs listing or product listing page to Wordpress without the use of a jobs plugin

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.

My Wordpress jobs page is much simpler than the legal jobs board, but it does work. It’s also free, unlike the JobPress Theme.

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!

Trackbacks are closed, but you can post a comment

How do you rate this post?

1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 4.25 out of 5)
Loading ... Loading ...

More to say? Help SEOgadget by reviewing the site on Google - Thank you!

seperator

6 Comments

  1. October 30, 2008 at 3:29 am | Permalink

    Thanks! Love this post, and it’s nice to see people handcoding and not always using plugins. Wooo hoo!

  2. October 30, 2008 at 5:45 pm | Permalink

    Hi :)

    I’m always glad, when people from the WordPress community writes about one of my plugins.

    Nice article, by the way :)

  3. Matthew
    January 27, 2009 at 4:34 pm | Permalink

    Hi,

    Can you post your end file so I can see how it works as a whole please?

    Thanks

  4. February 8, 2009 at 3:03 pm | Permalink

    Just to say thanks.you got valuable information.

  5. February 25, 2009 at 4:42 pm | Permalink

    Thank goodness, some help where I can create a job board. I hop I get it right. Thank you again for this!

  6. March 29, 2009 at 12:35 am | Permalink

    thanks for very good share. good article.

    i am trying to find a really good wordpress plug-in for my classifieds website for adding job listing. i did’nt yet.
    btw. thanks again.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*