I am using the code below to display posts defined as a custom-post-type and filtered by a custom-taxonomy of 'england'.

I've tried using 'posts_per_page=5' in the query_posts function but this brings up a completely different set of posts from one of my post categories of type 'news'. When I remove the posts-per-page from the query, it returns the listings I want but it defaults to the default 10 set within the Wordpress Settings. How do I override it in the code below?

        <?php query_posts( array( 'country' => 'event-england') ); ?>
        <?php if( is_tax() ) {
            global $wp_query;
            $term = $wp_query->get_queried_object();
            $title = $term->name;
        }  ?>

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

            <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>

            <?php endwhile; else: ?>
            <?php endif; ?>
  • have you tried it this way: <?php query_posts( array( 'posts_per_page' => 5, 'country' => 'event-england') ); ?>
    – Michael
    May 24, 2011 at 13:48

1 Answer 1


Something like this is what you need. The Codex page for WP_Query is very helpful

$args = array('post_type' => '<your custom post type name>',
              'posts_per_page' => 5,
               'tax_query' => array(
                                  'taxonomy' => '<your custom taxonomy name>',
                                  'field' => 'slug',
                                  'terms' => 'event-england'

$query = new WP_Query($args)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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