3

私のウェブサイトのページネーションは、各ページで同じ結果を示しているようです。これは、複数のループを使用していることと関係があると思います。/page/2/ または /page/3/ など、ページ分割された他のページの別の投稿を表示できないようです。

ループ 1:

<?php 
global $do_not_duplicate;
$do_not_duplicate = array();

    $my_query = new WP_Query('category_name=top-story&posts_per_page=1');
    while ($my_query->have_posts()) : $my_query->the_post();
        $do_not_duplicate[] = $post->ID;?>
        <div class="yl_bg_post main_content videos">
            <div class="top_story"><p>Top Story</p></div>
            <h2 class="title"><?php the_title(); ?></h2>
            <?php the_content('<p class="more">More></p>'); ?>
        </div>
<?php endwhile; ?>

ループ 2:

<?php 
$my_query = new WP_Query('category_name=small-story&posts_per_page=1');
    while ($my_query->have_posts()) : $my_query->the_post();
        $do_not_duplicate[] = $post->ID;?>
        <div class="more_break">
        <?php
        $perma = get_permalink();
        echo "<a href='".$perma ."'>";
        the_content("") . "</a>";
        echo '<a href="' . $perma . '"><p class="more">More></p></a>';
        $count++;
        ?>
    </div>
    <?php endwhile; ?>

最終ループ:

while (have_posts()==the_post()) {
if (in_array($post->ID, $do_not_duplicate)) {} ?>
        <div class="yl_bg_post main_content videos">
        <h2 class="title"><?php the_title(); ?></h2>
    <?php the_content('<p class="more">More></p>'); ?>
</div>
<?php } ?>

ページネーション:

<?php
    global $wp_query;
    $total_pages = $wp_query->max_num_pages;    

    if ($total_pages > 1){
        $current_page = max(1, get_query_var('paged'));
        echo paginate_links(array(
            'base' => get_pagenum_link(1) . '%_%',
            'format' => 'page%#%',
            'current' => $current_page,
            'total' => $total_pages,
            'prev_text' => '',
            'next_text' => 'Next'
            ));
    }
?>

私のウェブサイトは、各ページに同じコンテンツを表示するだけです... この問題の解決策が見つからないようです。見落としがありましたら申し訳ありませんが、もしあれば追加します。

4

2 に答える 2