0

私は現在、自分のWebサイトの作成にワードプレスを使用しています。そして、私は本当にページネーションに関して問題を見つけます。したがって、基本的に、実際に私の問題が何であるかを理解できるようにするために、2つのコードを投稿します。

これが最初のコードです。

<?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もインストールしました。問題はありません。ページ付けは正常に機能しています。

しかし、このコード行を置くと、通常のループについてです。ページ付けが正しく機能していません。このカテゴリの投稿のみを表示したいので、このコード行を「」と入力します。

2番目のコード:

コード行

<?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

問題は、ページ内の 2 つのループ (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 に答える