Viewing 9 replies - 1 through 9 (of 9 total)
  • teli

    (@teli)

    Do you just want to display the one most recent post on the homepage, or do you want a static front page?

    If it’s the former, you may be able to get away with something like <?php if(is_page('home') && !is_paged()) { query_posts('limit=1'); } ?> just before the start of your loop.

    If it’s the latter, Options -> Reading, and select the page you’d like to use as your static homepage.

    ~ Teli

    Thread Starter davestolte

    (@davestolte)

    You’ll have to forgive me, I’m not a coder…

    It’s the former I wish to do (display the one most recent post on the front page)… into which PHP and in what position should I copy & paste that bit?

    Thanks, this is the last hurdle before I take the site live — 🙂

    Thread Starter davestolte

    (@davestolte)

    I’ve tried dropping that code snippet into my index.php in a few places and it doesn’t work… any help here would be much appreciated!

    pinoyca

    (@pinoyca)

    Put if(is_page('home') && !is_paged()) { query_posts('limit=1'); } only on one spot, right before if (have_posts()) : while (have_posts()) :.

    JaneLitte

    (@janelitte)

    You could get the MaxBlogPress diff’t post per page. You have to sign up for a newsletter and endure some blog pimping but I love the plugin. It allows you to set the number of posts you want for each category, archive, search result, etc.

    So set the blog posts to 1 and then use the plugin to set the category pages to show 5 or however many you like. No php coding necessary.

    Moderator Samuel Wood (Otto)

    (@otto42)

    WordPress.org Admin

    Correction to above code: Use this:
    query_posts($query_string.'limit=1');

    Otherwise, pagination won’t work.

    Thread Starter davestolte

    (@davestolte)

    Thanks for the help guys, here’s what I’ve tried:

    <?php if(is_page('home') && !is_paged()) { query_posts($query_string.'limit=1'); } if (have_posts()) : ?><?php while (have_posts()) : the_post();?>
    … didn’t work

    if(is_page('home') && !is_paged()) { query_posts($query_string.'limit=1'); }
    <?php if (have_posts()) : ?><?php while (have_posts()) : the_post();?>

    … didn’t work

    <?php if(is_page('home') && !is_paged()) { query_posts($query_string.'limit=1'); } ?>
    <?php if (have_posts()) : ?><?php while (have_posts()) : the_post();?>

    … didn’t work

    Think I’ll take a look at that plugin. I’m not meant to code LOL

    Thread Starter davestolte

    (@davestolte)

    JaneLitte, two minutes later, my blog is perfect. Thanks a million!

    — Dave

    I would like to reopen this discussion for the same purposes as originally intended. I have a programming background, so I thought I could grasp the PHP modifications recommended above.

    I can see how the entries above did not work, as the continuation terminator “?>” was excluded from each one (except the example where placed directly within the same PHP segment as the “if (have_posts…”). However, I believe I am inserting this code correctly into the proper index.php file, and it is still not limiting the number of posts on the home page??

    I am using WordPress 2.6.3. I found The Loop in the file /wp-content/themes/default/index.php. It is broken up into two PHP segments as follows:

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

    I inserted the following segment directly above the top entry:

    <!-- Limit the home page to display only one (the latest) post -->
    <?php if(is_page('home') && !is_paged()) { query_posts($query_string.'limit=1'); } ?>

    However, this is not limiting the number of blog posts to one as previously stated. Could someone please identify where I may be inserting this code incorrectly?

    Thank you in advance for your assistance.

    Wynne

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘How to restrict the front page to one blog post?’ is closed to new replies.