WordPress.org

Support

Support » How-To and Troubleshooting » [Resolved] Show less posts on front page

[Resolved] Show less posts on front page

Viewing 12 replies - 1 through 12 (of 12 total)
  • On your front page template, you can add an iteration count.
    Before the loop set: $i = 0;
    Then inside the loop add

    if ($i <= [here add the number of posts]){
    [your normal frontpage content]
    $i++;
    }

    Christopher Roberts

    @christopherrobertswordpress

    Thanks for the reply, evandunn, but being a PHP ‘fool’ I don’t know what that means 😛
    What file do I need to go to, and where do I put it…

    Sorry for being so naive!

    Christopher

    esmi

    @esmi

    Forum Moderator

    Set the posts per page on Settings-> Reading to 7. Then add something like:

    <?php
    if( is_home() && !is_paged() ) :
    global $query_string;
    query_posts( $query_string . '&posts_per_page=2' );
    ?>

    immediately before the start of the Loop in your theme’s index.php template file.
    http://codex.wordpress.org/Function_Reference/query_posts

    Christopher Roberts

    @christopherrobertswordpress

    Really grateful for your help, but…

    BIG error, says Parse error: syntax error, unexpected $end in /home/fhlinux150/t/technologybloggers.org/user/htdocs/wp-content/themes/twentyten/index.php on line 37

    Here is the Main Index Template (index.php) code, could you send me it how it should look please, thanks!

    [Code moderated as per the Forum Rules. Please use the pastebin]

    esmi

    @esmi

    Forum Moderator

    Don’t edit the Twenty Ten theme. Your changes will be over-written the next time you upgrade WordPress. For this reason, it is recommended that you consider creating a child theme for your customisations. Once your child theme is active, we should be able to help with the customisation.

    Christopher Roberts

    @christopherrobertswordpress

    k will investigate, thanks 🙂

    Christopher Roberts

    @christopherrobertswordpress

    Tried to do a child theme, but it didn’t seem to work :-/
    Created a normal theme, just by duplicating the original theme, but it still returns error Parse error: syntax error, unexpected $end in /home/fhlinux150/t/technologybloggers.org/user/htdocs/wp-content/themes/twentyten-custom/index.php on line 37 when I put

    <?php
    if( is_home() && !is_paged() ) :
    global $query_string;
    query_posts( $query_string . '&posts_per_page=2' );
    ?>

    just before

    <?php
    			/* Run the loop to output the posts.
    			 * If you want to overload this in a child theme then include a file
    			 * called loop-index.php and that will be used instead.
    			 */
    			 get_template_part( 'loop', 'index' );
    			?>

    esmi

    @esmi

    Forum Moderator

    Sorry – my bad. Use:

    <?php
    if( is_home() && !is_paged() ) :
    global $query_string;
    query_posts( $query_string . '&posts_per_page=2' );
    endif;
    ?>
    Christopher Roberts

    @christopherrobertswordpress

    @esmi U R a genius!!!!!

    Thank you very much 🙂

    Author of Set Front Page Post Count here, just want to point that using query_posts() and posts_per_page on the homepage to override the normal posts_per_page value does have unintended consequences. WordPress will assume the homepage still had the normal post count and not display the first X posts (where X is the normal per-page setting), even if the front page only had 2, so you end up losing posts 3-X.

    Christopher Roberts

    @christopherrobertswordpress

    @adam I see what you mean :-/

    How can I quickly ‘download’ all of my settings so that you can replicate the blog? i.e. plugins, themes etc.

    Easiest way would probably still involve dumping one or more of the database tables and the site files.

    Can you try disabling your current plugins and reverting back to stock Twenty Ten, then work backwards from there? That should rule out any conflicts.

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘[Resolved] Show less posts on front page’ is closed to new replies.