0

如果没有附件,如何隐藏 img-tag?

(功能来自本教程:http ://wp.tutsplus.com/tutorials/automagic-post-thumbnails-image-management/ )

<img src="<?php get_attachment_picture();?>" />

我需要这样的东西:

<?php if ( get_attachment_picture()) { ?>
<img src="<?php get_attachment_picture();?>">
<?php } else { ?>
show nothing, not even av default image
<?php } ?>
4

2 回答 2

0

您可以通过让函数返回缩略图而不是回显它来完成您需要的操作。

从函数中删除这些行:

else:
    $related_thumbnail = "images/default_thumbnail.jpg";  //define default thumbnail, you can use full url here.

并更换

echo $related_thumbnail;

return $related_thumbnail;

然后你的代码变成

<?php
$attachment = get_attachment_picture();

if ( ! empty($attachment) ) { ?>
    <img src="<?php echo $attachment; ?>">
<?php } ?>

我还没有测试过这些,所以我可能错过了一些东西,但这种方法应该有效。

顺便说一句 - 我不明白为什么函数有这些行:

ob_start();  
ob_end_clean();  

可能值得删除它们,

于 2012-04-13T16:44:42.870 回答
0

如果您使用的是“标准”文章缩略图,则可以使用has_post_thumbnail
http://codex.wordpress.org/Function_Reference/has_post_thumbnail

<?php 
//This must be in one loop

if(has_post_thumbnail()) {
    the_post_thumbnail();
} else {
    // if there is no thumbnail, do nothing (or whatever you want) here
}
?>
于 2012-04-14T07:21:34.973 回答