【问题标题】:WordPress Pagination Problems - disappearing next_posts_linkWordPress 分页问题 - 消失 next_posts_link
【发布时间】:2017-02-22 10:47:33
【问题描述】:

我希望有人可以帮助我解决我一直在尝试在 WordPress 中对自定义模板进行分页的问题。我浏览了 Stackoverflow 和其他网站论坛,寻找与此相关的答案,但似乎没有人遇到与我遇到的问题完全相同的问题。

我目前正在对前任创建的 WordPress 网站进行更改,其中一个页面显示了我们公司的产品组合。这显示了我们发布的所有帖子(作为工作),直到我最近将其更改为每页 12 个。但是,我似乎无法让分页工作,甚至 post_links 顶部甚至出现在页面上。

有问题的页面是http://thefabl.com/our-work,我目前在页面上的代码(从循环顶部到页脚)如下所示:

<?php
            $cases = 1;
            $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
            $args = array(
                'post_type' => 'work',
                'posts_per_page' => 12,
                'post_status' => 'publish',
                'paged' => $paged,
                'orderby' => 'date',
                );

            if ( isset( $_GET[ 'project' ] ) ) {
                $args[ 'project' ] = $_GET[ 'project' ];
            }
            $loop = new WP_Query( $args );
            if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();
        ?>
                <li <?php if ( ( $cases % 3 ) == 0 ) { echo ' class="end"'; } ?>>
                    <div class="overlay absolute-full">
                        <a href="<?php the_permalink(); ?>" class="absolute-full"></a>
                    </div>
                    <figure>
                        <?php 
                            if ( has_post_thumbnail() ) {

                                the_post_thumbnail( 'work_list' );

                            } else {

                                echo '<img src="http://placehold.it/298x175" alt="Placeholder"/>';

                            }
                        ?>
                    </figure>
                    <div class="post-meta">
                        <p class="title">
                            <?php the_title(); ?>
                        </p>
                        <span class="work-type">
                            <?php the_field( 'work_type' ); ?>
                        </span>
                    </div>

                </li>

        <?php
            $cases++;
            endwhile; ?>

            <div class="main" id="post-pagination">
                <?php if( has_previous_posts() ){ ?><div class="prev"><?php echo previous_posts_link( 'Previous Page' ); ?></div><?php } ?>
                <?php if( has_next_posts() ){ ?><div class="next"><?php echo next_posts_link( 'Next Page' ); ?></div><?php } ?>
            </div>

        <?php   endif; ?>

    </ul>

</div>

<a class="back-to-top bottom center"></a>

【问题讨论】:

    标签: php wordpress pagination


    【解决方案1】:

    也许是echo 导致了问题。请使用以下行。

    <div class="next"><?php next_posts_link('&laquo; Older Entries') ?></div>
    <div class="prev"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
    

    希望它对你有用。

    如果您在主页上显示帖子,则可能需要替换

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    

    <?php
    
    if ( get_query_var('paged') ) 
        { 
            $paged = get_query_var('paged'); 
        } 
    else if ( get_query_var('page') ) 
        {
            $paged = get_query_var('page'); 
        }
        else 
        {
            $paged = 1; 
        }
    

    【讨论】:

    • 嗨 Sukhdeep Kaur,很抱歉回复得太慢了。感谢您的建议,但这没有帮助。我要分页的页面不是主页,而是自定义模板
    • 我尝试使用博客页面中的 post_links 代码与此页面上的循环一起使用。也许它与分类过滤器冲突......?
    猜你喜欢
    • 2012-12-31
    • 2014-09-06
    • 2013-04-23
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多