我正在回复相关帖子小部件的一些HTML。我想显示缩略图('get_the_post_thumbnail'),如果它有一个,如果没有显示后备。我不知道我是否应该在var中使用if / else语句(无法使其工作)或者执行此操作的最佳方法是什么。
这是我的回音代码:
echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . get_the_post_thumbnail($recent["ID"], 'thumbnail') .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>';
我尝试在var:
中使用if / elseif ( has_post_thumbnail() ) {
$img = get_the_post_thumbnail( $recent["ID"] );
} else {
$img = '<img src="path/to/image" />';
}
并回应出来:
echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . $img .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>';
但它只是默认为else语句,而不是从拥有它的文章中获取缩略图。任何帮助表示赞赏。
整个代码块
<?php
if ( has_post_thumbnail() ) {
$img = get_the_post_thumbnail( $recent["ID"] );
} else {
$img = '<img src="path/to/image" />';
}
$args = array( 'numberposts' => '3');
$recent_posts = wp_get_recent_posts( $args );
foreach ( $recent_posts as $recent ) {
echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . $img .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>';
}
?>
答案 0 :(得分:1)
从您的代码中,您似乎在尝试获取相关帖子之前获取缩略图。例如,当$recent["ID"]
对象似乎仍然存在时,您引用$recent
。我想这样的事情对你有用:
$args = array( 'numberposts' => '3');
$recent_posts = wp_get_recent_posts( $args );
foreach ( $recent_posts as $recent ) {
if ( has_post_thumbnail($recent["ID"]) ) {
$img = get_the_post_thumbnail( $recent["ID"] );
} else {
$img = '<img src="path/to/image" />';
}
echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . $img .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>';
}