如何从query_posts获取结果数?

时间:2012-06-18 15:43:45

标签: wordpress

我正在打印帖子,我想获得一些结果,我该怎么做?

这是我的代码的一部分:

if (have_posts()) : 

    $args = array(
        'showposts' => '5',
        'paged' => $paged
    );


    $thePosts = query_posts($args);
...

感谢您的帮助

7 个答案:

答案 0 :(得分:37)

解决:

if (have_posts()) : 

        $args = array(
            'showposts' => '5',
            'paged' => $paged
        );


        $thePosts = query_posts($args);


         global $wp_query; 
         echo $wp_query->found_posts;
    ...

答案 1 :(得分:7)

要显示搜索结果的数量,请使用:

Search Result for 

<?php 
/* Search Count */ 
$allsearch = &new WP_Query("s=$s&showposts=-1"); 
$key = wp_specialchars($s, 1);
$count = $allsearch->post_count; _e('');
 _e('<span class="search-terms">'); 
echo $key; _e('</span>'); 
_e(' &mdash; '); 
echo $count . ' ';
 _e('articles');
 wp_reset_query(); 
?>

取自:WP Beginner

答案 2 :(得分:7)

正确的答案是

 if (have_posts()) : 

    $args = array(
        'showposts' => '5',
        'paged' => $paged
    );


    $thePosts = query_posts($args);



     echo $thePosts ->found_posts;
...

答案 3 :(得分:6)

这将为您提供结果:例如,显示46的结果11-20。

  $args = array(
    'cat'=> $cat,
    'posts_per_page' => 10,
    'paged' => $paged,
    's'=> $s
  );
  query_posts($args);

  $startpost=1;
  $startpost=10*($paged - 1)+1;
  $endpost = (10*$paged < $wp_query->found_posts ? 10*$paged : $wp_query->found_posts);
        ?>
  <h2 class="displayResult">Showing results <?php echo $startpost; ?> - <?php echo $endpost; ?> of <?php echo $wp_query->found_posts; ?></h2>

如果这不是搜索页面,只需删除行"'s'=> $s"即可。

如果确实需要,请确保将变量声明为上面的$_GET['s']

答案 4 :(得分:2)

易。要显示当前页面的结果数,请使用

// Showing Page X of Y
print filter_var( absint( $GLOBALS['wp_query']->post_count ), FILTER_SANITIZE_NUMBER_INT );

对于结果总量,请使用

print filter_var( absint( $GLOBALS['wp_query']->found_posts ), FILTER_SANITIZE_NUMBER_INT );

答案 5 :(得分:2)

显示搜索结果的数量:

<?php global $wp_query;
echo $wp_query->post_count; ?> 

答案 6 :(得分:0)

query_posts( $args );
global $wp_query;
print_r($wp_query->max_num_pages);

对我有帮助。