query_posts with pagination not working
I am trying to make pagination work with the following code but no luck:
$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'cat' => '5',
'post_type' => 'post',
'posts_per_page' => 6,
'paged' => $page,
);
query_posts($args);
while(have_posts()) {
the_post(); ?>
<div class="project_item">
<div class="dotted">
<hr />
</div>
<div class="project_thumb"><a href="<?php echo get_permalink(); ?>"><img src="<?php getCustomField('news_thumbnail'); ?>" /></a></div>
<div class="project_entry"><h4><a href="<?php echo get_permali开发者_Python百科nk(); ?>"><?php getCustomField('news_title'); ?></a></h4>
<?php getCustomField('news_excerpt'); ?>
<a href="<?php echo get_permalink(); ?>" class="readmore">Read more..</a>
</div>
</div>
<?php }
wp_reset_query(); // Restore global post data
I just needed to add previous and next links after the loop:
<div class="navigation">
<div class="alignleft"><?php previous_posts_link('« Previous') ?></div>
<div class="alignright"><?php next_posts_link('More »') ?></div>
</div>
Full code:
<?php
$args = array(
'cat' => '5',
'post_type' => 'post',
'posts_per_page' => 6,
'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1),
);
query_posts($args);
while (have_posts()) : the_post();
/* Do whatever you want to do for every page... */
?>
<div class="project_item">
<div class="dotted">
<hr />
</div>
<div class="project_thumb"><a href="<?php echo get_permalink(); ?>"><img src="<?php getCustomField('news_thumbnail'); ?>" /></a></div>
<div class="project_entry"><h4><a href="<?php echo get_permalink(); ?>"><?php getCustomField('news_title'); ?></a></h4>
<?php getCustomField('news_excerpt'); ?>
<a href="<?php echo get_permalink(); ?>" class="readmore">Read more..</a> </div>
</div>
<?php
endwhile;
?><div class="navigation">
<div class="alignleft"><?php previous_posts_link('« Previous') ?></div>
<div class="alignright"><?php next_posts_link('More »') ?></div>
</div>
<?php
wp_reset_query(); // Restore global post data
?>
Here is the fix to have it working with all pagination plugins:
global $wp_query;
query_posts(
array_merge(
array(
'category__not_in' => 69, //ifu want to exclude some category
'posts_per_page' => 9
),
$wp_query->query
)
);
精彩评论