0

ワードプレスでは、私は使用しています:

$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 という名前を選択した場合、$posts にはオフセット 0 がないため、未定義のオフセット 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;」を使用してみてください。

wordpressdevのforeachステートメントは次のように構成されています。

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

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