• I’m trying to set up WordPress with a static front page, plus a separate page that shows blog-style entries. I’m using the Copyblogger theme (if that helps), but for whatever reason – maybe the lateness of the hour – I can’t figure out how to create a separate blog page and have it show up in my site’s navigation. Any tips are appreciated.

Viewing 15 replies - 1 through 15 (of 23 total)
  • Hack about in your admin area. You can set a static front page there.

    If you create a page using the ‘Write Page’ option and then save it, you can then set this as the front page.

    You do this by going to Options – Reading – and selecting the Static page option. Choose the page you just created from the drop down box and this will now show as the front page.

    Your posts and any other pages will be accessed via sidebar menus, top navigation links or whatever else you set up.

    Thread Starter likorish

    (@likorish)

    Hi JamesICT/Root,

    Yes, I’ve created the static front page already, but the only other pages that are available in navigation are the ‘about’ page and the ‘archives’ page – the entries page is nowhere to be found. Do I have to create a special page just for the entries?

    The entries page as you call it will be the index.php. It should be there working as usual. Unless you did something odd with it.

    Thread Starter likorish

    (@likorish)

    I didn’t do anything odd to it – I made the static page the front page of my site by going to Options > Reading, and then I suddenly didn’t have a blog page anymore. Now when I load the index.php page, I see the static page I created.

    If I go back into Options > Reading and change the front page options so that the front page displays a list of posts, then I see my list of posts. I could be wrong, but it seems that when I make the static page the front page, it’s overwriting the index.php page. I don’t know if that makes any sense. I appreciate your help this far.

    You need to forget what goes on in static sites. WP only has one *page* that is index.php. It is dynamic. It can load a page of static content. Or your posts. But as a fix you could save index.php as home.php. Its magic.

    likorish – I know what you mean, and I don’t have an answer for you.

    What Likorish means is, when the front page is static, what should you use as your main posts page – the page that would usually appear as the home page?

    My workaround for this has been to create a separate template with a query_posts loop in it, and point another static page at this, but it isn’t a good solution.

    <?php
    /*
    Template Name: Blog
    */

    // Which page of the blog are we on?
    $paged = get_query_var('paged');
    query_posts('cat=-0&paged='.$paged);

    // make posts print only the first part with a link to rest of the post.
    global $more;
    $more = 0;

    //load index to show blog
    load_template(TEMPLATEPATH . '/index.php');

    ?>

    Save that as blog.php in your themes directory and select Blog as page template for your blog page.

    Raptor NL,

    Will this work in version 2.3? and does this assume the installation is in the root? I’m about to try it!

    Root,
    What, exactly, does changing index.php to home.php do?

    In case anyone’s getting stuck with the “2 Home page” problem, I got lucky on some code-stripping (“lucky” because I really don’t know what I’m doing) and was able to remove the WP-default “Home” and replace it with my own static page.

    See here.

    Yes, I know it’s bad form to bump such an old post, I just wanted to say that the method that raptorNL posted above for showing the blog posts works a treat with a static front page and WP 2.3.1.

    Collin

    ynotweb

    (@ynotweb)

    Sorry, came across this looking for something else and seems like the answers overcomplicate the process (for version 2.1 and up).
    To have a static front page and retain your seperate recent posts/blog page, you:
    A) Create your home page under Write>Pages
    B) Create a seperate (blank) Page(again, Write>Pages) called “Blog” or “Recent Posts” or whatever you want the link text to be in your navigation. You can type nothing or anything you want in the body (I usually type “this is a placeholder”.) as this text is never displayed — it is replaced with the blog entries instead.
    C) Go to Options > Reading.
    D) Select “Front Page Displays a Static Page”
    E) Define Front Page as whatever page title you gave your home page in step A.
    F) Define Posts Page as whatever page title you gave your blog “page” in step B. No need to create a special template- whenever someone navigates to this “page” they get the X most recent posts as defined on the bottom half of Options>Reading.

    ynotweb – i hv done your steps.That’s a good idea but how can I remove the Comments, Tags, Categories for that particular static page? bcos comments are more like to be in post section only.huhu

    Hi

    Go to Manage ->Pages
    Edit you home page
    Click on the Discussion box and uncheck the comments.
    That is how to get rid of the comments.

    Have a look at the other boxes to find the other stuff.

    Hope that helps.

    Thx for your quick reply but thats not exactly what I’m looking for. That’s just disable the comments but I want to make in like “real webpage without blogging things such as commnet div, tags, etc.
    But anyway thx again for your quick reply.

Viewing 15 replies - 1 through 15 (of 23 total)
  • The topic ‘Static Front Page Blog’ is closed to new replies.