web-dev-qa-db-ja.com

静的ページでのWP_Queryのページング

私は静的なページを持っています、そしてそのページに私はブログ記事のリストを見せたいです。 1ページに12件の投稿が必要です(つまり、リスティングにはページ番号を付けます)。

ページネーション以外は、すべてうまく機能しています。これが私のコードです:

    <section id="blogposts" class="content-block content-3-5 blogposts">
            <div class="row">
                <!-- Feature Box 1 -->
                <?php
                    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
                    $blogposts_args = array(
                        'post_type' => 'post',
                        'post_status' => 'publish',
                        'nopaging' => false,
                        'order' => 'DESC',
                        'orderby' => 'date',
                        'posts_per_page' => '12',
                        'paged' => $paged
                    )
                    ?>
                <?php $blogposts = new WP_Query( $blogposts_args ); ?>
                <?php if ( $blogposts->have_posts() ) : ?>
                    <?php $blogposts_item_number = 0; ?>
                    <?php while ( $blogposts->have_posts() ) : $blogposts->the_post(); ?>
                    <?php
                        $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
                        $url = $thumb['0'];
                    ?>
                        <div class="col-md-3 col-sm-6 col-xs-12">
                            <div class="feature-box">
                                <div class="column-item-category"><?php the_category(); ?></div>
                                <a class="feature-box-link" href="<?php the_permalink(); ?>">
                                    <?php the_post_thumbnail( '', array(
                                            'class' => 'column-circle'
                                        ) ); ?>
                                </a>
                                <a class="feature-box-link" href="<?php the_permalink(); ?>">
                                    <h4 class="column-item-title"><?php the_title(); ?></h4>
                                </a>
                                <p class="column-item-author"><?php the_author(); ?></p>
                            </div>
                        </div>
                        <?php $blogposts_item_number++; ?>
                        <?php if( $blogposts_item_number % 4 == 0 ) echo '<div class="clearfix visible-md-block visible-lg-block"></div>'; ?>
                        <?php if( $blogposts_item_number % 2 == 0 ) echo '<div class="clearfix visible-sm-block"></div>'; ?>
                        <?php if( $blogposts_item_number % 1 == 0 ) echo '<div class="clearfix visible-xs-block"></div>'; ?>
                    <?php endwhile; ?>
                    <?php wp_reset_postdata(); ?>
                    <div class="post-nav-links">
                        <div class="prev-post"><?php previous_posts_link(); ?></div>
                        <div class="next-post"><?php next_posts_link(); ?></div>
                    </div>
                    <?php else : ?>
                    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
                <?php endif; ?>
                <!-- Feature Box 2 -->
                <!-- Feature Box 3 -->
                <!-- Feature Box 4 -->
            </div>
            <!-- Row Ends -->
    </section>

私が言ったように - すべてうまくいきます。ページネーションリンクは表示されません。私は非常に肯定的なので、私は本当に基本的なものが欠けているので、私は完全な当惑の危険を冒してこれを投稿しています。しかし、私はそれを理解しようとして私の髪の毛を引き抜いています、そしてそれはここで尋ねるべき正しい時期のようです。とにかく...どんな助けでも大歓迎です。

1
JoshMB

私はあなたのコードを少し編集しました。そしてそれはうまくいくと思います。パラメータをprevious_posts_linkとnext_posts_linkに渡す必要があります。

だから、次のコードを試してみてください

<section id="blogposts" class="content-block content-3-5 blogposts">
            <div class="row">
                <!-- Feature Box 1 -->
                <?php
                    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
                    $blogposts_args = array(
                        'post_type' => 'post',
                        'post_status' => 'publish',
                        'nopaging' => false,
                        'order' => 'DESC',
                        'orderby' => 'date',
                        'posts_per_page' => '12',
                        'paged' => $paged
                    )
                    ?>
                <?php $blogposts = new WP_Query( $blogposts_args ); ?>
                <?php if ( $blogposts->have_posts() ) : ?>
                    <?php $blogposts_item_number = 0; ?>
                    <?php while ( $blogposts->have_posts() ) : $blogposts->the_post(); ?>
                    <?php
                        $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
                        $url = $thumb['0'];
                    ?>
                        <div class="col-md-3 col-sm-6 col-xs-12">
                            <div class="feature-box">
                                <div class="column-item-category"><?php the_category(); ?></div>
                                <a class="feature-box-link" href="<?php the_permalink(); ?>">
                                    <?php the_post_thumbnail( '', array(
                                            'class' => 'column-circle'
                                        ) ); ?>
                                </a>
                                <a class="feature-box-link" href="<?php the_permalink(); ?>">
                                    <h4 class="column-item-title"><?php the_title(); ?></h4>
                                </a>
                                <p class="column-item-author"><?php the_author(); ?></p>
                            </div>
                        </div>
                        <?php $blogposts_item_number++; ?>
                        <?php if( $blogposts_item_number % 4 == 0 ) echo '<div class="clearfix visible-md-block visible-lg-block"></div>'; ?>
                        <?php if( $blogposts_item_number % 2 == 0 ) echo '<div class="clearfix visible-sm-block"></div>'; ?>
                        <?php if( $blogposts_item_number % 1 == 0 ) echo '<div class="clearfix visible-xs-block"></div>'; ?>
                    <?php endwhile; ?>
                    <?php wp_reset_postdata(); ?>
                    <div class="post-nav-links">
                        <div class="prev-post"><?php previous_posts_link('Newer', $blogposts->max_num_pages ); ?></div>
                        <div class="next-post"><?php next_posts_link('Older', $blogposts->max_num_pages ); ?></div>
                    </div>
                    <?php else : ?>
                    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
                <?php endif; ?>
                <!-- Feature Box 2 -->
                <!-- Feature Box 3 -->
                <!-- Feature Box 4 -->
            </div>
            <!-- Row Ends -->
    </section>
1
terminator