我的WordPress博客包含以下代码段:
<?php
$images = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full');
if (count($images) > 0) { ?>
<div class="image-holder">
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_directory') ?>/javascript/timthumb.php?src=<?php echo $images[0]; ?>&h=320&w=630&zc=1" alt="<?php the_title();?>" /></a>
</div>
<?php }
?>
这会在实际内容之上显示标题图像(特色图像),并使用timthumbb来调整其大小。一切都很好,但如果没有定义的特色图片,它会显示一个破碎的img src。有没有办法编辑它,以便只显示图像,如果实际存在一个?
答案 0 :(得分:0)
我用过它并且工作正常:
// get the ancestors
$familyTree = get_ancestors($post->ID, 'page');
array_unshift($familyTree, $post->ID); //add the current page to the beginning of the list
// loop through the family tree until you find a result or exhaust the array
$featuredImage = '';
foreach ($familyTree as $family_postid) {
if (has_post_thumbnail($family_postid)) {
$featuredImage = get_the_post_thumbnail($family_postid, 'full');
// the 'full' argument tells WordPress not to re-size the image to thumbnail dimensions
break;
}
}
// if the page has a featured image then show it
echo ($featuredImage ? $featuredImage : "");
它还将特色图像应用于子页面,除非子页面具有自己的特色图像,不确定是否需要,但如果没有特色图像则不应该显示任何内容。
答案 1 :(得分:0)
Try using this logic
<?php
if($images[0]!='')
{
<div class="image-holder">
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_directory') ?>/javascript/timthumb.php?src=<?php echo $images[0]; ?>&h=320&w=630&zc=1" alt="<?php the_title();?>" /></a>
</div>
}
?>
答案 2 :(得分:0)
如果只有一张图片,可以使用
if ($images[0]!='') {
答案 3 :(得分:0)
您可以使用功能has_post_thumbnail()
来检查帖子是否包含精选图片。
使用方法:
$images = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full');
if (count($images) > 0) { ?>
<div class="image-holder">
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_directory') ?>/javascript/timthumb.php?src= <?php echo $images[0]; ?>&h=320&w=630&zc=1" alt="<?php the_title();?>" /></a>
</div>
<?php }
} ?>