在循环中获取张贴缩略图会导致错误

时间:2018-01-03 作者:rudtek

我一直在使用以下代码从我的帖子中提取图像:

  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

一个善良的人能告诉我我错过了什么吗?

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

这个get_the_post_thumbnail() 内部使用global $post 获取帖子ID。这就是为什么代码在出现错误时工作的原因。不需要将post ID传递给此函数,因此您可以传递null 对它。

但错误是因为没有定义$post_ID 变量如果你想获得帖子的ID,你应该使用global $post; $post->ID;, 或更好地使用get_the_ID().

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post