The problem: I got a WordPress site with feature headline, the latest post of headline category.
Below I want to show all posts from all categories except this one.
But I want to display older posts from this category headline together with any post of any other category.
Next problem with this site, on frontpage have to be 6 posts plus the headline, on following pages is no headline and there should be displayed more posts.
Live on Great Geadgets
This is how I solved this problem for me, the name for that headline category is Headline with ID 6.
the first loop:
<?php get_header(); ?>
<?php if(!is_paged()) { ?>
<?php query_posts(„showposts=1&category_name=Headline“); //retrieves 1 post from headline ?>
<?php while (have_posts()) : the_post(); ?>
<?php $do_not_duplicate = $post->ID; ?>
now do stuff for first post like title and content
<?php endwhile; ?>
<?php } //end if is only not paged headline post ?>
Now I start a loop quering for all posts and leaving the one above out:
<?php
$page = (get_query_var(‚paged‘)) ? get_query_var(‚paged‘) : 1;
$num_of_posts = get_option(‚posts_per_page‘);
if ( !is_paged()){
query_posts(„cat=-6&paged=$page&posts_per_page=6“);
} else {
query_posts(„paged=$page&posts_per_page=$num_of_posts“); } ?>
<?php $i = 1; ?>
<?php while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts); ?>
<?php if ( $paged < 2 ) { ?>
now do stuff for first page, limited to 6 post and exclude category Headline (ID 6) from that loop, here is the place to style the frontpage and the way how to display posts.
<?php } else { //now if is paged ?>
do stuff for following pages and take the number of pages from the settings in options
<?php } //end if else paged ?>
<?php endwhile; ?>
<div class=“navigation“> This comes normally close to the end of a template
It would be great to exclude a single post by post ID from the second loop, I did not find an easy way for that yet. I mean something like query_posts and exclude a post by $post->ID what you can get from the first loop
exclude post WordPress