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 關注
- 134 瀏覽
添加回答
舉報