我在页面上显示我的类别。现在,当我有多于x个帖子时,我想显示一个分页以导航到包含该帖子的下一页。这是我的代码:<?php$cat_id = get_query_var('cat');$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;$args = array( 'cat' => $cat_id,'posts_per_page' => 5, 'paged' => $paged);$query = new WP_Query( $args );while ( $query->have_posts() ) : $query->the_post(); //Post data echo get_the_post_thumbnail(get_the_ID());?><li>With some posts</li><?phpendwhile;?>然后我试着像这样吐出我的导航:<?phpfunction pagination_nav() { global $wp_query; if ( $wp_query->max_num_pages > 1 ) { ?> <nav class="pagination" role="navigation"> <div class="nav-previous"><?php next_posts_link( '← Older posts' ); ?></div> <div class="nav-next"><?php previous_posts_link( 'Newer posts →' ); ?></div> </nav><?php }}?><?php echo pagination_nav();?>但是,无论我做什么,我都无法退还。我到底应该怎么做?$ paged应该可以,对吧?我有20多个帖子,但是我在任何地方都看不到我的导航/分页按钮。最后,我尝试了下面的代码,但这并没有转到查询的第二页。该网址显示/ category / categoryname / page / 2,但它只是将我发送到空白页...<div class="pagination"> <?php echo paginate_links( array( 'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ), 'total' => $query->max_num_pages, 'current' => max( 1, get_query_var( 'paged' ) ), 'format' => '?paged=%#%', 'show_all' => false, 'type' => 'plain', 'end_size' => 2, 'mid_size' => 1, 'prev_next' => true, 'prev_text' => sprintf( '<i></i> %1$s', __( 'Newer Posts', 'text-domain' ) ), 'next_text' => sprintf( '%1$s <i></i>', __( 'Older Posts', 'text-domain' ) ), 'add_args' => false, 'add_fragment' => '', ) ); ?></div>
1 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
好吧,让我回答我自己的问题。我通过使用相同的代码解决了该问题,但是在我的Wordpress页面中更改了设置(!)。启用分页设置时,请尝试将默认的“按50个帖子分页”更改为“ 10”左右。这触发了代码的工作。
添加回答
举报
0/150
提交
取消