先谢谢你们提出的任何见解我一直在为此而烦恼。
这是我用来调用主页帖子的代码:(www.csmpromo.com)
<div id="home-posts">
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts(array( 'cat' => 'home', 'types' => $types, 'posts_per_page' => 19, 'paged' => $paged, ) ); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="home-post"><a href="<?php the_permalink(); ?>" class="transition">
<div class="home-image">
<?php if ( has_post_thumbnail() ) { the_post_thumbnail('home-thumb', array('class' => 'home-image')); } else { ?>
<img src="<?php bloginfo('template_directory'); ?>/img/fallback.jpg" alt="<?php the_title(); ?>" class="home-image" />
<?php } ?>
</div>
<?php the_titlesmall('', '<i class="icon-right-open-mini"></i>', true, '80') ?></a>
<div class="home-post-meta">
<i class="icon-user" style="font-size:7px; color:#9B362F"></i> <?php the_author_link(array('class' => 'home-author')); ?></span>
<i class="icon-feather" style="font-size:7px; color:#9B362F"></i> <?php the_time('F j, Y'); ?> at <?php the_time('g:i a'); ?>
<i class="icon-chat" style="font-size:7px; color:#9B362F"></i> <?php comments_number('0 Comments', '1 Comments', '% Comments' );?></div>
</div>
<?php endwhile; endif; ?>
<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(); ?>
</div>
我已经读过使用带分页的query_posts有很多问题,但我尝试过的每个解决方案都失败了。
谢谢!
答案 0 :(得分:1)
建议放弃使用query_posts
,保留主页上的原始查询,并使用pre_get_posts
从functions.php
文件修改查询,例如:
add_action( 'pre_get_posts','so16286638_pre_get_posts' );
function so16286638_pre_get_posts( $query )
{
if( is_home() && $query->is_main_query() ){
$query->set( 'cat', 'home' );
$query->set( 'post_type', 'post' );
// more params
}
return $query;
}