В приведенном ниже коде я пытаюсь извлечь точно показанное изображение post_id = 25, но вместо этого оно вытягивает новые изображения другого поста.
<?php
$post_ID= 25;
$post_url= get_permalink($post_ID);
$queried_post = get_post($post_ID);
?>
<img class="img-circle" src="<?php
if (has_post_thumbnail($post_ID)) {
the_post_thumbnail('medium');
}
?>"<h2><a href="<?php get_permalink($post_url) ?>"</a><?php echo $queried_post->post_title; ?></h2>
<p><?php
query_posts('p=25');
if (have_posts()) : while (have_posts()) : the_post();
?>
<div class="entry">
<?php echo substr(get_the_excerpt(), 0, 300); ?><span>[...]</span>
</div>
<?php
endwhile;
endif;
?>
<p><a class="btn btn-default" href="#" role="button" >View details »</a></p>
Вам нужно будет использовать get_the_post_thumbnail
чтобы пройти в id.
if (has_post_thumbnail($post_ID)) {
echo get_the_post_thumbnail($post_ID,'medium');
}
the_post_thumbnail
на самом деле делает это:
function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
echo get_the_post_thumbnail( null, $size, $attr );
}
get_the_post_thumbnail
в свою очередь использует текущий идентификатор сообщения, если в него передано значение null.
Вам просто нужно изменить это:
<?php
$post_ID= 25;
$post_url= get_permalink($post_ID);
$queried_post = get_post($post_ID);
?>
<img class="img-circle" src="<?php
if (has_post_thumbnail($post_ID)) {
the_post_thumbnail('medium');
}
?>"
К этому:
<?php
$post_ID= 25;
$post_url= get_permalink($post_ID);
$queried_post = get_post($post_ID);
?>
<img class="img-circle" src="<?php
if (has_post_thumbnail($post_ID)) {
echo get_the_post_thumbnail($post_ID,'medium');
}
?>"
Других решений пока нет …