Second Blog

Create a Second Blog in WordPress [How-To] (Revised)


This tutorial only works from WP 3.03 and below.

Hey guys, as most of you know I recently set up a secondary blog section for my personal blogs. Since it took alot of trouble-shooting and help from a friend I thought I’d save you the hassle that I went through trying to create it.

So this is a ‘how-to’ on creating a second blog section where I will walk you through all the necessary steps in order for you to create your very-own secondary blog.

Making the Categories


So first off you want to make a category that you will be using in the second blog, this will define what is in the new section.

  • Under the ‘Posts’ tab in the sidebar go to the Categories page.
  • Make a new category (more than one if you want to have multiple categories associated with the new blog), you may call it whatever you want but make sure you remember it’s unique ID to use later on).

Making the PHP File


What you want to do now is make a new PHP file.

  • Go into your Editor page (located under the apperance tab in the admin sidebar) and select the ‘Main Index Template (index.php)’.
  • Copy all the text and code to your clip-board.
  • Create a new blank text document using either Notepad or Wordpad or any other text editor and paste all of the code into the blank text documment.
  • Add the following code above all of the code and text into the text document:
/*Template Name: Blog*/ 


  • Replace the ‘Blog’ part in that code to whatever name you want, just make sure you can recognise it later on.
  • Save the file as blog.php (replace ‘blog’ with the name of your choice).
  • Upload the PHP file to your theme folder (i.e

Creating the Query


Now you want to define the content that your second blog displays (i.e the categories we made before).

  • Go to the Editor page again (under the apperance tab) and open the new page that you made (i.e blog.php).
  • Now about two lines of code down from where you put the “Template Name: Blog” code, under: <div id=”content”> enter the following code:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

      query_posts("cat=#&paged=$paged"); ?>


  • Replace the ‘#’ symbol with the ID number for the category we made (e.g cat=12).
  • Click the ‘Update File’ button.

Note: If you have two or more categories that you want to associate with your new blog, simply seperate each category ID with a comma (,) (i.e: cat=12,5,9)

Stop Posts From Displaying in the Main Section


So now that the posts can display in the new section, you’re going to want them to NOT display in the main section.

  • Open up the Main Template File (index.php) in the Editor page again.
  • In the same spot that you put the query in the blog.php file, put the following code into the index.php file.
<?php query_posts($query_string . '&cat=-#'); ?>


Note: Remember to put a minus (‘-‘) symbol infront of the unique ID’s this time, so instead of inserting it, it’s going to remove it.

  • Just like last time, replace the ‘#’ with the ID tag of your category (if you have more seperate them with commas just like before).
  • Click the ‘Update File’ button.

Creating the Page


Now you want to create the page that is going to hold the PHP file.

  • Go to the Add New page under the ‘Pages’ tab.
  • Give the page a name (e.g ‘Blog’).
  • In the sidebar on the right in the ‘Attributes’ section you should see a setting called ‘Template’.
  • Click the Dropdown menu and select your PHP file name (i.e ‘Blog’).
  • Then click ‘Publish’

Adding Posts to the New Section


What you’ll want to do now is add posts to this new section that you’ve created. It’s very simple.

  • Write a new post.
  • Have the categories for the new post set on the categories that you created and added to the files (if you use any of the ones that you didn’t add the the list, it will display on the main page and not in the new section).
  • Click ‘Publish’




I would like to give huge props to John for helping me fix the code issues that I was having. He is a very big part of why this tutorial actually works so I highly recommend you check out his site to show appreciation for the help.



And there you have it!, you have now got a second blog in one single wordpress install, pretty neat huh?

Note: This can be repeated as many times as you like, you could have 5 different blogs in one wordpress install if you really wanted!

I hope you enjoyed this tutorial! and I hope it was easy to follow. If you have any problems with it, please don’t hesitate to ask in the comments!

39 thoughts on “Create a Second Blog in WordPress [How-To] (Revised)

  1. Benje

    I didn’t read the whole post, but couldn’t you just upload a the wordpress files and change the table prefix? To something like wp_2?

    That’s how I did it, this seems like a lot more trouble.

      1. Benje

        It will only work if you want to use the same database.
        When you install wordpress, you have to fill out all the database information, such as the name and password, etc. There’s also an area for table prefix, you just change that to something other than wp_ (which is the default), and it should work.

        That’s how I set it up.

          1. Sean Post author

            Yeah, I said this at the end of the post: “And there you have it!, you have now got a second blog in one single wordpress install, pretty neat huh?”

  2. JJ

    That worked like a charm. Great idea.
    Unfortunately on the home page, it broke the “next page” “previous page” function. It just keeps refreshing . Yours to. Actually Sean, when I click on your categories I still just get the refreshed home page. Anyway, I poked around the net and found this:

    and things seems to be ok now I think. Hope this helps
    Great site ya have, I’ll be back all the time.

    1. Sean Post author

      Yeah, I never noticed it in the old theme I had before.. I’m going to work on fixing the code.

      Btw, where you said “Found this:” I don’t see anything after that.

  3. Pingback: Still Fixing Stuff | Zero Atoms

  4. Pingback: Genius! | Zero Atoms

  5. Liaiskscusy

    i genuinely love your own posting kind, very attractive,
    don’t quit and also keep penning considering the fact that it just well worth to read it.
    looking forward to look into alot more of your own content pieces, enjoy your day!

    1. Sean Post author

      Sorry for the late reply, I got caught up with things.

      Ok, so the Devotions page is meant to have posts in it, as well as the blog page, correct?

      If so, how did you get the posts to show up on the blog page? Did you go into “Settings > Reading” and change the default post page or did you edit the code on those pages?

  6. Michelle

    Thanks Sean for replying.

    I edited the code as above in your blog post. Copying my Main Index template and creating a devotion. php. Then I added the rest of the code that was posted.

    1. Sean Post author

      Ok then, well I’ve just checked out both your blog page and devotions page again and it seems to be almost working properly.

      I notice that you have got the devotions category to display on the Devotions page. However, on the Devotions page, the background of the post section isn’t white like it should be. Also, the devotions category is still displaying on your blog section.

      I’m still unsure as to what you did, would you perhaps be able to send the contents of the .php files that you edited (such as: index.php, devotions.php and any others) via the Contact page. I think this would help me figure the problem out faster. Thanks.

    1. Sean Post author

      No problem Matthew! Glad to help

      I went on your blog and noticed that the posts in How-to and Podcasts are showing up in the main section, is that how you wanted it? If not, I can help you out, you might not have done all of the instructions correctly..

      Let me know!

  7. IBe

    Hey Sean,
    First of all thanks for the how-to. I really need this. I was almost going to have two blogs, but decided to see if this option was possible. To my delight, apparently, it is!
    But alas it’s not working. For the life of me I can’t find “” in my code. Consequently, I don’t know where to add the query.
    I know this is asking a lot, but I would really appreciate it if you could help me out. I can send you my index.php file if you need. Just let me know if you are able and willing to spend few minutes looking over my index file.

    1. Sean Post author

      Sure, I’d be glad to help.

      I can’t see what code you put in quotes just then though, so can you email me at with the index.php, blog.php (or what you named it) and page.php codes and we can continue this conversation.


Leave a Reply

Your email address will not be published. Required fields are marked *