the_post
从中放置下一个post对象$query->posts
在全球范围内$post
和电话setup_postdata
, 假设$post
是一个post对象,因为它试图访问该对象的成员变量,这就是错误的来源。
在这种情况下$posts
只是一个ID数组,而不是post对象。如果要迭代结果,可以执行foreach
在…上$posts
:
$args = array(
\'post_type\' => \'product\',
\'fields\' => \'ids\',
);
$query = new WP_Query($args);
if ($query->have_posts()):
foreach( $query->posts as $id ):
echo \'ID: \' . $id;
endforeach;
endif;