0

添付ファイルがない場合、img タグを非表示にするにはどうすればよいですか?

(関数はこのチュートリアルからのものです: 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 に答える