0

我目前正在使用 wordpress 创建我的网站。我真的发现了一个关于分页的问题。所以基本上为了让你明白我真正的问题是什么,我将发布两个代码:

这是第一个代码:

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

<div <?php post_class() ?> id="post-<?php the_ID(); ?>">                    

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

<?php include (TEMPLATEPATH.'/inc/meta.php'); ?>                            

<div class="entry">                                                         
<?php                                                                       
  the_excerpt();                                                            
?>                                                                          
</div>                                                                      
  <br/><br/>                                                                
  <h3><a href="<?php the_permalink() ?>">Read More...</a></h3>               
</div>                                                                      
<?php                                                                       
  endwhile;                                                                 
?>                                                                          

<?php include (TEMPLATEPATH . '/inc/nav.php' ); ?>                          

<?php else : ?>                                                             

<h2>Not Found</h2>                                                          

<?php endif; ?>  

在这行代码中,我使用常规循环来查询帖子。其实我没有修改代码。我还安装了一个插件 WP-PageNavi。没有问题,分页工作正常。

但是当我放这行代码时,关于常规循环。分页无法正常工作。我放这行代码“”是因为我只想在这个类别中显示帖子。

第二个代码:

代码行

<?php query_posts('cat=8'); ?>

结束代码行

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">

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

<?php include (TEMPLATEPATH . '/inc/meta.php' ); ?>
<div class="entry">
<?php the_excerpt(); ?>
</div>
<br/><br/>
<h3><a href="<?php the_permalink() ?>">Read More...</a></h3>
</div>
<?php endwhile; ?>

<?php include (TEMPLATEPATH . '/inc/nav.php' ); ?>

<?php else : ?>
<h2>Not Found</h2>
<?php endif; ?>

我的问题是:我应该怎么做才能使分页正常工作?我真的需要一些帮助。

4

1 回答 1

1

我认为问题是由于页面中有两个循环(即while和endwhile循环)。

而不是 while 使用 foreach 循环。下面是例子

<?php  
$args = array('category'        => '8');

$postArr = get_posts($args);

if($postArr){
    foreach($postArr as $details){
?>
div <?php post_class() ?> id="post-<?php echo $details->ID; ?>">

<h2><a href="<?php echo get_permalink($details->ID;) ?>"><?php echo $details->post_title; ?></a></h2>

<?php include (TEMPLATEPATH . '/inc/meta.php' ); ?>

<div class="entry">
<?php echo $details->post_excerpt(); ?>
</div>


<br/><br/>
<h3><a href="<?php echo get_permalink($details->ID;) ?>">Read More...</a></h3>



</div>  
<?php
    }
}else{
?>
<h2>Not Found</h2>

<?php
}
?>

注意代码未测试...

于 2012-09-26T09:53:20.670 回答