2016-09-09 2 views
1

관련 게시물 위젯에 대해 일부 HTML을 다시 표시합니다. 내가 축소판 이미지를 표시하고 싶다면 ('get_the_post_thumbnail'), 만약 그것이 있다면, 대체를 보여주지 않을 것입니다. 내가 var/if 문을 사용해야하는지 알지 못한다. (일을 할 수 없다.)이 일을하는 가장 좋은 방법은 무엇인가. 여기 echo 문에 WP 대체 이미지

내 에코 코드 :

echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . get_the_post_thumbnail($recent["ID"], 'thumbnail') .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>'; 

내가 사용하려고했던/그 밖에 VAR의 경우 :

echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . $img .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>'; 

하지만 :

if (has_post_thumbnail()) { 
    $img = get_the_post_thumbnail($recent["ID"]); 
} else { 
    $img = '<img src="path/to/image" />'; 
} 

과하면 해당을 에코 그냥 else 문을 기본값으로 사용하고 기사가있는 기사에서 미리보기 이미지를 가져 오지 않습니다. 어떤 도움을 주셔서 감사합니다. 당신은 당신이 실제로 관련 게시물을하기 전에 미리보기를 가져 오기 위해 노력하고있다처럼 코드에서

전체 코드 블록

<?php 
    if (has_post_thumbnail()) { 
     $img = get_the_post_thumbnail($recent["ID"]); 
    } else { 
     $img = '<img src="path/to/image" />'; 
       } 
    $args = array('numberposts' => '3'); 
    $recent_posts = wp_get_recent_posts($args); 
    foreach ($recent_posts as $recent) { 
     echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . $img .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>';    
    } 
?> 
+0

if/else 문은 문제가 없습니다. 문제는'has_post_thumbnail()'이 false를 반환하는 것으로 보입니다. 그러나 왜 그렇게되는지 알아낼 수 있을지는 의문입니다. 이 코드를 정확히 어디에 사용하고 있습니까? – Aioros

+0

has_post_thumbnail() 대신 get_the_post_thumbnail()을 평가하면 더 간단하지 않습니까? – Kyobul

+0

위 코드 전체를 –

답변

1

, 그것은 보인다. 예를 들어, $recent 개체가 여전히 존재하지 않는 것처럼 보이는 경우 $recent["ID"]을 참조합니다. 이런 일이 너에게 도움이 될 것 같아.

$args = array('numberposts' => '3'); 
$recent_posts = wp_get_recent_posts($args); 
foreach ($recent_posts as $recent) { 
    if (has_post_thumbnail($recent["ID"])) { 
     $img = get_the_post_thumbnail($recent["ID"]); 
    } else { 
     $img = '<img src="path/to/image" />'; 
    } 

    echo '<div class="l-four"><div class="l-twelve l-mb1 recentThumb t-center">' . $img .'</div><div class="l-twelve f-size14 f-l-height16 t-center"><a href="' . get_permalink($recent["ID"]) . '" class="c-gold">' . $recent["post_title"] .'</a></div></div>';    
} 
+0

신난다. 고마워. 그래서 그것은 범위 문제였습니까? foreach 내부의 if/else를 움직여 고정했습니다. –

+1

범위 문제는 아니지만 제어 흐름에 관한 내용입니다. 모든 게시물을 검토하여 이미지를 확인하려고 했으므로 foreach로 반복하고 내부에서 if로 테스트해야했습니다. – Aioros