自定义帖子wp_query上的分页

< ?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $loop = new WP_Query( array( 'post_type' => 'html5-blank', 'posts_per_page' => 5, 'paged'=> $paged ) ); ?> < ?php if ($loop-> have_posts()): while ($loop-> have_posts()) : $loop-> the_post(); ?> //Loop Code Here.. < ?php wp_reset_query(); ?> < nav> < ?php previous_posts_link( 'Newer posts & raquo; ' ); ?> < ?php next_posts_link('Older & raquo; ') ?> < /nav> < ?php endwhile; ?> < ?php else: ?>

【自定义帖子wp_query上的分页】输入结果后, 下一页的网址是:www.mywebsite.com/blog/page/2正在工作。但是我无法显示分页链接。
哪里出错了?
编辑:分页链接显示在页面2 /, 但不在博客主页面中。为什么?
#1我想你把< ?php wp_reset_query(); ?> 在错误的位置..是分页代码之后还是分页代码之后?
像这样的东西
< ?php endwhile; ?> < ?php else: ?> < ?php wp_reset_query(); ?>

#2我建议通过自定义帖子wp_query进行分页的3种方法。不幸的是, 到目前为止, 关于这一点的信息并不多, 或者至少在某些情况下不清楚。希望这会有所帮助!
请注意, 你也确实将wp_reset_postdata()放在错误的位置, 但是要使其正常工作还需要更多。
选项1-使用max_num_pages变量
< ?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'posts_per_page' => 1, 'paged' => $paged, 'post_type' => 'cpt_type' ); $cpt_query = new WP_Query($args); ?> < ?php if ($cpt_query-> have_posts()) : while ($cpt_query-> have_posts()) : $cpt_query-> the_post(); ?> //Loop Code Here...< ?php endwhile; endif; ?> < nav> < ul> < li> < ?php previous_posts_link( '& laquo; PREV', $cpt_query-> max_num_pages) ?> < /li> < li> < ?php next_posts_link( 'NEXT & raquo; ', $cpt_query-> max_num_pages) ?> < /li> < /ul> < /nav>

你将在上方看到previous_posts_link和next_posts_link的格式略有不同, 它们现在可以访问max_num_pages变量。访问max_num_pages时, 请确保使用你自己的查询变量名。注意, 我使用$ cpt_query, 因为那是我的查询示例的变量。
选项2-暂时将$ wp_query变量用于循环查询这是很多人的建议, 但是要小心地将$ wp_query变量分配给temp变量, 然后重新分配它, 否则会遇到各种麻烦。这就是为什么我建议选择#1的原因。如CSS技巧所述, 你可以执行以下操作:
< ?php $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(); $wp_query-> query('showposts=6& post_type=news'.'& paged='.$paged); while ($wp_query-> have_posts()) : $wp_query-> the_post(); ?> < !-- LOOP: Usual Post Template Stuff Here--> < ?php endwhile; ?> < nav> < ?php previous_posts_link('& laquo; Newer') ?> < ?php next_posts_link('Older & raquo; ') ?> < /nav> < ?php $wp_query = null; $wp_query = $temp; // Reset ?>

选项3-使用WP-pagenavi插件就像另一个选项一样, 你可以使用WP-pagenavi插件, 并按照选项#1进行设置。但是, 一旦安装了插件, 请对代码进行一次更改, 删除元素中的所有内容并替换为该功能。因此, 你将以:
< nav> < ?php wp_pagenavi( array( 'query' => $cpt_query ) ); ?> < /nav>

#3
< ?php add_shortcode('show_all_news', 'show_all_news'); function show_all_news($atts) { $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $limit = 4; $offset = ( $limit * $paged ) - $limit; $atts['pages'] = $paged; $atts['post-type'] = 'your_custom_post_type'; $atts['orderby'] = 'date'; $atts['order'] = 'DESC'; $atts['offset'] = $offset; $atts['posts_per_page'] = $limit; $atts['caller_get_posts'] = 1; $result = new WP_Query($atts); echo '< div class="news-cont"> '; if($result-> have_posts()) { while ($result-> have_posts()) : $result-> the_post(); echo '< div class="bg-white news-block"> '; echo '< em class="date"> '. get_the_date().'< /em> ' ?> < h2> < a href="http://www.srcmini.com/< ?php the_permalink(); ?>"> < ?php the_title(); ?> < /a> < /h2> < ?php echo "< p> "; the_excerpt(); echo "< /p> "; echo '< /div> '; endwhile; ?> < ul class="pagination" style="width:100%; "> < li id="previous-posts" style="float:left"> < ?php previous_posts_link( '< < Vorige Pagina', $result-> max_num_pages ); ?> < /li> < li id="next-posts" style="float:right"> < ?php next_posts_link( 'Volgende Pagina > > ', $result-> max_num_pages ); ?> < /li> < /ul> < ?php } echo '< /div> '; wp_reset_query(); }

    推荐阅读