0

カスタム投稿タイプとページネーションについて多くの質問がありますが、私が見つける限り、この問題を抱えている人は他にいません:

  • 投稿タイプが作成されました -- チェック
  • カスタム アーカイブ ページの新しいクエリ -- チェック
  • ページ 1 は完全に正しくロードされます -- チェックしてください
  • 2 ページ目は、必要な投稿を示しています -- チェックしてください。BUT:以前の投稿へのリンクもまだあります。
  • 表示する投稿がないにもかかわらず、ページ 3 を指している

問題: 投稿のナビゲーションがまだ 2 ページ目に表示されているため、投稿のないページ 3 (4、5、6 など) へのクリックが可能です。いいえ 404、ただの空白のページです。まるでループがまだ無限の無の海をループしているかのようです。

コード:

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loop = new WP_Query( array(
'post_type' => 'portfolio',
'posts_per_page' => 10,
'paged'=>$paged
) ); ?>

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<article >
/*stuff in here */
 </article>

<?php endwhile; ?>

<div id="post-navigation">
<div class="nav-previous"><?php next_posts_link(__( 'Previous Projects' )) ?></div>
<div class="nav-next"><?php previous_posts_link(__( 'Next Projects' )) ?></div>
</div><!-- #post-navigation -->

その他の情報: これを archive-portfolio.php で表示しています -- パーマリンクを混乱させる空白ページはありません。

ページ 1 には、次の投稿のオプションがありません。つまり、半分は機能しているように見えますが、前の投稿では、表示する投稿がない場合に、時間をさかのぼることができます。

どうもありがとう。

4

2 に答える 2

0

わかりました -- 質問が早すぎました。これが問題を修正するコードです。誰かが理由を教えてくれたら、それは素晴らしいことです。そうでなければ、それはすべてカーゴカルトです....

<?php if (have_posts()) : ?>


<?php query_posts('post_type=portfolio&posts_per_page=10&caller_get_posts=1&paged='. $paged ); ?>

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

<article  >

/*stuff in here */

</article>

<?php endwhile; ?>

<div id="post-navigation">
<div class="nav-previous"><?php next_posts_link(__( 'Previous Projects' )) ?></div>
<div class="nav-next"><?php previous_posts_link(__( 'Next Projects' )) ?></div>
</div><!-- #post-navigation -->
<?php else : endif; ?>
于 2013-10-14T19:48:50.733 に答える
0

これを試して:

ここから wordpress codexを参照できます:

--

ありがとう

于 2013-10-15T09:45:20.923 に答える