Live site.

I'm having trouble pinpointing exactly why the Blog page is showing up as the Home/landing page. I've changed the page template to General/page.php and have WP reading settings set to Front Page as Static/Home, and Posts page as Blog. Any ideas? All of the other pages I've set to use the General template have done so without issue.


<?php get_header(); ?>

<div id="container">
    <div id="landing">
        <div id="intro">
            <h1>Hi, I'm Dylan Elchami-<br />a health and fitness enthusiast with a passion for inspiring.</h1>
            <p>My interests are vast and ever changing, but my virtues remain true. I love to motivate, create, make people healthier, stronger, sexier, and flat out better all while building great, unmitigated relationships along the way. Please roam my site and enjoy all the information I post for you, and if you have a question please don't hesitate to contact me- it's your way of giving back for all the free information because helping you is what makes me feel AWESOME.</p>
        </div><!-- end intro -->

        <div id="stay-in-touch">
            <p>Stay in touch-</p>
                <li><a href="#"><img src="<?php echo get_template_directory_uri(); ?>/img/facebook.png" alt="Like on Facebook" /></a></li>
                <li><a href="#"><img src="<?php echo get_template_directory_uri(); ?>/img/twitter.png" alt="Follow on Twitter" /></a></li>
                <li><a href="#"><img src="<?php echo get_template_directory_uri(); ?>/img/linkedin.png" alt="Connect on LinkedIn" /></a></li>
        </div><!-- end stay-in-touch -->

        <?php $my_query = new WP_Query( array( 'posts_per_page' => 3, 'nopaging' => true ) );
        echo $post_count;
        while ( $my_query->have_posts() ) : ( $my_query->the_post() ); ?>
        <div id="preview">
            <div id="preview-item">
                <div id="preview-headline">
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?>
            </div><!-- end preview-headline -->
            <div id="preview-thumbnail">
                <?php the_post_thumbnail( array(120,102) ); ?> 
            </div><!-- end preview-thumbnail -->
            </div><!-- end preview-item --> 
        </div><!-- end preview-->
        <?php endwhile; ?>
    </div><!-- end landing -->

<?php get_sidebar(); ?>

<?php get_footer(); ?>


Template Name: General

<?php get_header(); ?>

<div id="container">
    <div id="single">
        <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
        <?php endwhile; ?>
        <?php else : ?>
            <p>I'm not sure what you're looking for.</p>
        <?php endif; ?>

        <div id="headline">
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></h2>
        </div><!-- end headline -->
        <div id="post-meta">
                <p>written by <?php the_author(); ?> on <?php the_date(); ?></p>
        </div><!-- end post-meta -->
        <div id="post">
            <?php the_content('read more...'); ?>
        </div><!-- end post -->
    </div><!-- end single -->
</div><!-- end container -->

<?php get_sidebar(); ?>

<?php get_footer(); ?>

1 Answer 1


You should read up on the template hierarchy.

page.php is automatically used for all static page. It should NOT have a "Template Name" header in it.

home.php is for styling your BLOG page. It should have a loop that can handle multiple articles.

front-page.php is for styling static home pages.

index.php is the fallback template for all of the above files.

  • Thanks for the tips. If I'm understanding you correctly, I should create home.php using my page.php content to have that act as the blog/posts page and create front-page.php using my index.php content to use as my landing/static page? May 22, 2012 at 21:18
  • Yes. That should work. You may want end up needing to make page.php and home.php different, but looking at your files, I think that should work.
    – mrwweb
    May 22, 2012 at 21:34
  • Perfect, thank you so much for your help and mini-lesson. Much appreciated. May 22, 2012 at 22:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.