1 回答
TA贡献1808条经验 获得超4个赞
您的代码中的问题是返回。
return返回值并停止进一步的代码执行,这意味着return之后的所有代码都不会运行。
您启动 foreach,运行代码并使用 return,将heredoc 传递给 return(循环的第一次迭代),就是这样,return 停止所有进一步的代码执行。
您需要在循环外创建一个变量,假设$html = '';每次迭代都连接您需要的 html。foreach 完成后,您可以检查是否$html不为空,然后返回$html
$html = '';
foreach ($recent_posts as $post) {
$perm = get_permalink($post['ID']);
$imgurl = get_the_post_thumbnail_url($post['ID'], 'full');
$html .= '<div class="videoposter">';
$html .= '<a class="posterlink" href="' . $perm . '">';
$html .= '<img class="posterimg" src="' . $imgurl . '">';
$html .= '</a>';
$html .= '</div>';
}
if (!empty($html)) {
return $html;
}
如果你愿意的话,你当然可以使用heredoc。
希望这有帮助=]
- 1 回答
- 0 关注
- 106 浏览
添加回答
举报