0

在 wordpress 中,我正在使用:

$posts=get_posts($args)
foreach($posts as $post){
   //do stuff
} 

但是,当没有帖子时,我得到

未定义的偏移量:第 2859 行 C:\xampp\htdocs\wrDTC\wp-includes\query.php 中的 0

我已经尝试使用if($posts){},但通知仍然出现。除了关闭 php 中的错误消息外,如何防止此通知?

4

3 回答 3

2

您不能简单地将 $posts 用作循环中的变量名称。

"$posts" 在 wordpress 的查询中作为全局使用,必须是数组。

如果您选择将 var $posts 命名为 var $posts,这将导致未定义的偏移量 0,因为您的 $posts 没有偏移量 0。请记住,您只需重置它。

于 2013-06-04T11:39:13.617 回答
1

使用这样的东西......

  if(!empty($args) && count($args)>0){
    $posts=get_posts($args)
    foreach($posts as $post){
       //do stuff
    } 
    }
于 2012-11-29T11:58:51.650 回答
0

尝试在 $args 中定义偏移量,即 ('offset' => 1),而不是使用通常的 {} 尝试使用钩子和“endforeach;”

我在 wordpress dev 中的 foreach 语句的结构如下:

<?php foreach($myPosts as $post) : setup_postdata($post) ?>

      <?php the_title(); ?>
      <?php the_content(); ?>
      // etc
      <?php endforeach; ?>
于 2012-11-29T16:59:16.527 回答