我一直在使用以下代码从我的帖子中提取图像:
while ( $query->have_posts() ) : $query->the_post();
if (has_post_thumbnail()){
$nevent .= \'<a href="\'.get_permalink().\'">\'.get_the_post_thumbnail($post_ID,\'full\', array( \'class\' => \'greenbg\' ) ).\'</a>\';
} else {
$nevent .= \'<img class="wp-post-image" src="\'. get_stylesheet_directory_uri().\'/images/node-summit-event-logo.png" alt="\'. get_the_title().\'"/>\';
}
$nevent .= \'<h2><a href="\'.get_permalink().\'">\'.get_the_title().\'</a></h2>\';
$i++;
endwhile;
代码可以工作并显示我的图像和帖子标题,但我遇到了一个错误:
注意:未定义的变量:post\\u ID in/home/nodesummit/public\\html/wp-content/plugins/rt-cpts/events。php在线671
一个善良的人能告诉我我错过了什么吗?
最合适的回答,由SO网友:Johansson 整理而成
这个get_the_post_thumbnail()
内部使用global $post
获取帖子ID。这就是为什么代码在出现错误时工作的原因。不需要将post ID传递给此函数,因此您可以传递null
对它。
但错误是因为没有定义$post_ID
变量如果你想获得帖子的ID,你应该使用global $post; $post->ID;
, 或更好地使用get_the_ID()
.