How To Make A Second Blog With WordPress (3.5.1)

Hey guys, a few years back I wrote a tutorial for creating a secondary blog in WordPress, I wrote it when WordPress was version 3.03, and pretty soon after that, the updates destroyed my work.

Well now, I have finally fixed the code and it’s all back up and running.

So I decided to re-write the tutorial for the latest version (3.5.1). This tutorial will walk you through all the necessary steps in order for you to create your very-own second blog in WordPress.

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, if you don’t know its number, click on it in the categories page and it should be in the url.

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:
<?php 
/*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 (e.g www.mysite.com/wp-content/themes/mytheme/).

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 a few lines down the code you should see what WordPress calls ‘the loop’ (if you don’t see the loop, refer to Complications towards the bottom of this tutorial) which looks something like this:
<?php if ( have_posts() ) : 
while( have_posts() ):the_post(); ?>

 

  • Replace that code with the following code:
<?php
query_posts( 'cat=#' );

if ( have_posts() ) : 
while( have_posts() ):the_post(); ?>

 

  • Replace the # symbol with the category ID number that you made earlier.
  • 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 (,) (e.g: 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.
  • Now this one is slightly different, instead of replacing the loop, we are going to add the following code right above it:
<?php
if ( is_home() ) {
	query_posts( '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’

Complications

This section is for those of you who don’t have the loop in their index file, this is most likely because the theme you chose is drawing the loop from another file in the themes folder, most likely called ‘content.php’.

If this is the case, you will need to copy the content from content.php into a text editor, such as notepad, and save it as something like blogcontent.php and upload it to your theme folder like you did for blog.php.

Now you will need to open your blog.php file in the editor and locate the code that looks something like this:

get_template_part('content'); ?>

 

That code is what’s drawing in your loop for both your index.php and blog.php files.

You now need to replace ‘content’ with ‘blogcontent’ (keep the apostrophes there).

Now you should be able to go back to the Creating The Query section, but where it says to add codes to certain sections, just add them to the content.php and blogcontent.php sections instead (index = content, blog = blogcontent).

That should be it, but as I’ve said, this part is very complicated, if you need additional help, feel free to ask in the comments, or if you have a bigger issue, contact me through the contact page and I may be able to edit your themes files if you send the relevant copies.

Conclusion

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 found this tutorial helpful, and I’m sorry it took so long for me to fix it. If you have any questions, feel free to ask in the comments.

8 Comments

  • [...] How To Make A Second Blog With WordPress (3.5.1) [...]

  • Ralph says:

    Good ol’ WordPress. Good times, good times.

  • Matt Adams says:

    Hi Sean, I really need your help with this.

    I was following along for a bit until I got lost at “CREATING THE QUERY”.

    I don’t have any of that, nor do I have what you put under “COMPLICATIONS”.

    I am using the Optimize Press theme (it’s a plugin) so this is probably why.

    I tried pushing through it but I haven’t got it and it doesn’t work, so I really need your help with this.

    And I’m sure you’re busy, but I am under a deadline, so I really hope you can help me soon. I can send you whatever you need.

    Thanks for putting this together.

    All my best,

    ~Matt

  • Hi Sean,
    I need a little help. I followed your instructions and the issue I am having is that my Portfolio posts are showing up in the blog list as well as the Portfolio list. What have I missed.

  • Ivan Rusev says:

    Hi Sean, I have a question.
    Is your tutorial working with WordPress 3.6.1 ?
    First of all I am absolute beginner.
    I followed your steps but the post under given category appears both in the main section and in the new section.
    I am using Responsive-child theme.
    I put the new blog.php file into: wp-content/themes/responsive-child.
    Then I made a copy of index.php from: wp-content/themes/responsive
    and inserted it into: wp-content/themes/responsive-child
    then I added the code to stop posts from displaying in the main section.
    Where is my error?

    Thanks in advance.

    Ivan

  • Can i say I LOVE YOU!!!!! works flawlessly