Как скрыть образ-url, если нет привязанности?

Как скрыть 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; } ?> 

Solutions Collecting From Web of "Как скрыть образ-url, если нет привязанности?"

Предполагая, что вы следуете этому руководству:

http://wp.tutsplus.com/tutorials/automagic-post-thumbnails-image-management/

Замените оператор echo в конце get_attachment_picture с возвратом, а затем измените код изображения.

Вот ваш новый код изображения:

 // get the URL of the image $src = get_attachment_picture(); // if the url is not empty, display the image if(!empty($src)){ ?> <img src="<?php echo $src; ?>" /> <?php } else { // the url was empty, do not display the image } 

Вот измененная функция:

 function get_attachment_picture(){ global $post, $posts; $related_thumbnail = get_post_meta($post->ID, 'image', 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 = ''; $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 = ""; endif; endif; endif; return $related_thumbnail; }