WordPress posts_per_page 不工作
Wordpress posts_per_page not working
所以,我尝试了整个网络上的所有 "add_filter" 方法来解决这个问题,但它不起作用!它总是显示超过 1 post。我的代码有什么问题?最新的 WP-Version 4.1.1 并且没有安装插件。
代码如下:
<?php
$sticky = get_option('sticky_posts');
if ( !empty($sticky) ) {
$args = array(
'post__in' => $sticky,
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => 1
);
$slider_query = new WP_Query( $args );
while ( $slider_query->have_posts() ) {
$slider_query->the_post();
?>
<div>
<!-- here we go -->
</div>
<?php
}
}
?>
Wordpress 与 posts_per_page 和 wp_query 不兼容。
要修复它,你必须使用 get_query_var,像这样:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
然后在你的 wp_query() 中你做:
$args = array(
'post__in' => $sticky,
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => 1,
'paged' => $paged
);
好的,我知道了。缺少此参数。对于置顶帖子,Wordpress 默认忽略 "posts_per_page"。
$args = array(
'post__in' => $sticky,
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => 1,
'ignore_sticky_posts' => 1
);
所以,我尝试了整个网络上的所有 "add_filter" 方法来解决这个问题,但它不起作用!它总是显示超过 1 post。我的代码有什么问题?最新的 WP-Version 4.1.1 并且没有安装插件。
代码如下:
<?php
$sticky = get_option('sticky_posts');
if ( !empty($sticky) ) {
$args = array(
'post__in' => $sticky,
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => 1
);
$slider_query = new WP_Query( $args );
while ( $slider_query->have_posts() ) {
$slider_query->the_post();
?>
<div>
<!-- here we go -->
</div>
<?php
}
}
?>
Wordpress 与 posts_per_page 和 wp_query 不兼容。 要修复它,你必须使用 get_query_var,像这样:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
然后在你的 wp_query() 中你做:
$args = array(
'post__in' => $sticky,
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => 1,
'paged' => $paged
);
好的,我知道了。缺少此参数。对于置顶帖子,Wordpress 默认忽略 "posts_per_page"。
$args = array(
'post__in' => $sticky,
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => 1,
'ignore_sticky_posts' => 1
);