0

Как скрыть тег img, если нет привязки?использовать условные теги/if/else на пользовательской функции в Wordpress?

(функция из этого урока: 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 } ?> 

ответ

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(); 

Может быть, стоит удалять их,

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 
} 
?> 
Смежные вопросы