错误说明了一切。您正在尝试获取财产ID
非对象的。这意味着$post
var不是对象。
您可以在WordPress循环中使用get_the_ID()
, 但实际上,在这种情况下,您并不需要它(请参见下面的解释)。
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$current_post_type = get_post_type( get_the_ID() );
// Use $query->post if you want to get
// current post object in full
// ex: $query->post->ID
}
// Do not forget to reset post data after a custom wp_query loop
// to restore global $post to main wp_query data
wp_reset_postdata();
}
PD:实际上,
$query->the_post()
设置全局
$post
到循环中的当前post,以及
get_post_type()
检查全局
$post
如果它没有收到不同的post数据或ID,这就是为什么尽管出现错误,您的代码仍能正常工作的原因。