<
?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();
}
推荐阅读
- 通过add_filter将参数传递给函数
- 将ACF地图数据传递到Timber主题中的twig循环
- 从wordpress插件覆盖$wp_customize
- 在WordPress中进行Ajax调用后,页面条件变为假
- 分页不起作用,并重定向到主页
- #yyds干货盘点#磁盘分区学习笔记
- 配置本地yum源
- 性能分析之valgrind及相关工具
- Linux内核中断系统