0

私が取り組んでいるサイトの「ページネーション」を構成しました。これにより、ページごとに 4 つの投稿がレンダリングされます。正常に動作します。ここで、ページの投稿数に応じてリンクが変わるように、ページの上部にリンクを設定したいと思います。

1) 最初のページにいて、投稿が 4 つ未満の場合、「前」と「次」のリンクはグレー表示されます。

2) 最初のページにいて 4 つの投稿があるが、レンダリングする投稿が合計で 4 つしかない場合、「前」と「次」のリンクはグレー表示されます。

3) 最初のページに 4 つの投稿があり、レンダリングする投稿が他にもある場合、「前」はグレー表示され、「次」はクリック可能なリンクで、次のページに移動します。

典型的なロジック。秘訣は、結果の最後のページにいて、さらに投稿がある場合、両方のリンクをクリックできるようにすることです。ない場合は、「次へ」をグレー表示にする必要があります。また、ページに 4 件未満の投稿があるが、1 ページ目ではない場合、「前」はクリック可能にする必要がありますが、「次」はグレー表示にする必要があります。

だから、私はこれを処理するための最良の方法を見つけようとしています。レンダリングされた投稿の私のページには、投稿をカウントするインクリメント機能 ($countposts) がありますが、それはページの下部にあり、適用する条件を決定するためにページの上部に値が必要です。私はこれについて正しい方法で考えていますか、それとももっと簡単にできることがありますか?

4

1 に答える 1

1

1 つの (よく使用される) 解決策は、出力バッファリング ( http://php.net/manual/en/book.outcontrol.php ) です。

<?php
ob_start();
// All output will be buffered

$count = 0;
while($post = get_post()) { // or something lik that
    $count++;
    ?>
     <h2><?= $post->title ?></h2>
    <?
}

$content = ob_get_clean(); // Turn off buffering and store output in $content

// Generate navigation here
if ($count < 4) {
    echo "No navigation";
}

// Echo the content from the buffer
echo $content
于 2013-10-22T17:16:21.607 に答える