Wordpress忽略post_per_page

时间:2016-03-31 11:30:40

标签: php wordpress

似乎很简单,但我似乎无法理解发生了什么。

我需要将帖子数量限制为25,但我的wp_query始终会返回所有记录,并忽略posts_per_page参数。

以下是我的代码:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
    'posts_per_page' => 25,
    'paged' => $paged,
    'post_type' => 'noo_company',
    'industry' => $industry,
);

$the_query = new WP_Query( $args );
$posts = $the_query->posts;

当我执行print_r($the_query)时,这是输出的第一部分。

  

WP_Query对象([query] =>数组([posts_per_page] => 25 [paged] => 1 [post_type] => noo_company [industry] =>咨询)[query_vars] =>数组([posts_per_page] => -1 [paged] => 1 [post_type] => noo_company [industry] =>咨询......

首先posts_per_page[query]的值在我设置时是正常的,但在第二部分[query_vars]中它重置为'-1',并且我不知道为什么会发生这种情况。

提前感谢任何有用的建议。

2 个答案:

答案 0 :(得分:0)

此代码对我有用,希望能为您工作只需复制并通过代码并安装插件名称为" wp_pagenavi"用于页面分页。

if ( have_posts() ) : 
`enter code here`$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
  $query_args = array(
    'post_type' => 'noo_company',
    'posts_per_page' => 5,
    'paged' => $paged
  );
// create a new instance of WP_Query
$the_query = new WP_Query( $query_args );
if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); // run the loop 
the_title();
endwhile;
if ($the_query->max_num_pages > 1) { 
if(function_exists('wp_pagenavi')) { wp_pagenavi();} 
} 
else: 
_e('Sorry, no posts matched your criteria.'); 
endif;  
endif;

答案 1 :(得分:0)

我删除了post_type参数,现在一切正常,它可能是主题特定的,我不知道究竟是什么导致了问题,但无论如何它现在已经修复了。