如果没有附件,如何隐藏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 } ?>
以下是我使用的函数:<!?php
/* Function to process your thumbnail & image
Copy and paste the code below to your functions.php */
function get_attachment_picture(){
global $post, $posts;
$related_thumbnail = get_post_meta($post->ID, \'image\', $single = true); //read post meta for image url
if($related_thumbnail == ""):
$attachments = get_children( array(
\'post_parent\' => get_the_ID(),
\'post_type\' => \'attachment\',
\'numberposts\' => 1,
\'post_status\' => \'inherit\',
\'post_mime_type\' => \'image\',
\'order\' => \'ASC\',
\'orderby\' => \'menu_order ASC\'
) );
if(!empty($attachments)): //check if there an attachment or not
foreach ( $attachments as $attachment_id => $attachment ) {
if(wp_get_attachment_image($attachment_id) != ""):
$related_thumbnail = wp_get_attachment_url( $attachment_id );
endif;
}
else: // if no attachment
$first_img = \'\';
ob_start();
ob_end_clean();
$output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(!empty($first_img)):
$related_thumbnail = $first_img;
else:
$related_thumbnail = "images/default_thumbnail.jpg"; //define default thumbnail, you can use full url here.
endif;
endif;
endif;
echo $related_thumbnail;
} ?>