Wordpress post 缩略图退出循环

Wordpress post thumbnail gets out of the loop

我正在尝试在 Wordpress 短代码中显示自定义 post 的 3 个最新 posts,到目前为止,我能够制作一个短代码,但由于某种原因图像退出显示 post 的循环。 html 输出也与我在短代码中所做的不同。图像位于 div 之上,它被称为 "drieberichten",而它应该在其中。

我的函数:

function latest_news_home()
 {
  global $post;

  $html = "";

  $my_query = new WP_Query( array(
       'post_type' => 'news',
       'posts_per_page' => 3
  ));

  if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post();

       $html .= "<div class='drieberichten'><a href=\"" . get_permalink() . "\" class=\"linkhome\">";
       $html .= "<h4>" . get_the_title() . " </h4>";
       $html .= "<p class='afbeeldingnieuws'>" . the_post_thumbnail('full') . " </p>";
       $html .= "<p class='shortnieuws'>" . excerpt(15) . "</p>";
       $html .= "<a href=\"" . get_permalink() . "\" class=\"meerlezen\">Meer lezen...</a></div></a>";

  endwhile; endif;

  return $html;
 }
 add_shortcode( 'latest_news', 'latest_news_home' );

html输出:

<img width="600" height="400" src="http://imgurl.nl/post3.jpg" class="attachment-full size-full wp-post-image" alt="" srcset="http://imgurl.nl/post3.jpg 600w, http://http://imgurl.nl/post3-300x200.jpg 300w" sizes="(max-width: 600px) 100vw, 600px">

<div class="drieberichten"><a href="http://websiteurl.nl" class="linkhome"><h4>First News! </h4><p class="afbeeldingnieuws"> </p><p class="shortnieuws">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquam eros ac velit dignissim,...</p></a><a href="http://websiteurl.nl" class="meerlezen">Meer lezen...</a></div>

有人有什么建议吗?我已经尝试制作一个新的缩略图大小,我认为这与此有关,但并没有解决问题。

替换

the_post_thumbnail('full')

get_the_post_thumbnail( null, 'full', '' )

问题是 the_post_thumbnail() 回显了结果。您需要一个 returns 字符串

的函数