Am I using get_posts wrong?

时间:2011-02-17 作者:Jiew Meng

我有

<?php 
$folioPosts = get_posts(array(\'category_name\' => \'portfolio\', \'numberposts\' => 3));
if ($folioPosts->have_posts()) :
foreach ($folioPosts as $folioPost) : 
setup_postdata($folioPost);
?>

<article class="col3">
  <?php if (has_post_thumbnail()) : ?>
  <p><a href="<?php the_permalink() ?>"><?php the_post_thumbnail() ?></a></p>
  <?php endif; ?>
  <p><a href="<?php the_permalink() ?>"><?php the_title() ?></a></p>
</article>

<?php
endforeach;
else :
?>
<p>No folio posts to display ...</p>
<?php endif; ?>
我正在

致命错误:对非对象调用成员函数have\\u posts()。。。

我认为这是因为我的args to get\\u posts是错误的。我做错什么了吗?

2 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

get_posts() returns an array, not a WP_Query object. 如果要使用have_posts() 和相关函数,使用“原始”WP_Query 对象

SO网友:John P Bloch

如果您希望这样做,请不要这样做:

if ($folioPosts->have_posts()) :
尝试以下操作:

if( !empty( $folioPosts ) ) :
此外,在foreach行之后和setup\\u postdata之前,添加如下内容:

global $post; $post = $folioPost;

结束

相关推荐