在wordpress中,我正在使用:
$posts=get_posts($args)
foreach($posts as $post){
//do stuff
}
然而,当我没有帖子时
未定义的偏移量:C:\ xampp \ htdocs \ wrDTC \ wp-includes \ query.php中的0 第2859行
我已尝试使用if($posts){}
,但通知仍然出现。除了关闭php中的错误消息外,如何阻止此通知?
答案 0 :(得分:1)
使用像这样的东西......
if(!empty($args) && count($args)>0){
$posts=get_posts($args)
foreach($posts as $post){
//do stuff
}
}
答案 1 :(得分:1)
您不能简单地将$ posts用作循环中变量的名称。
“$ posts”在wordpress查询中用作全局,必须是数组。
如果您选择为var $ posts命名,则此结果为未定义的偏移0,因为您的$ posts没有偏移0.记住,您只需重置它。
答案 2 :(得分: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; ?>