WordPress get_post_thumbnail_id ничего не возвращая

Почему это когда я использую wp_get_attachment_image_src(get_post_thumbnail_id($post_id)); Я ничего не получаю, однако, когда я var_dump post_id я получил string(3) "652" так что я знаю, что есть удостоверение личности

Без (string) это дает мне int(652)

Код:

<?php
$getPosts = new WP_Query(array('showposts' => 5, 'orderby' => 1));

if($getPosts->have_posts()):
$firstPost = true;

while($getPosts->have_posts()):
$getPosts->the_post();

$cssClass = '';

if($firstPost)
{
$cssClass = array('article','first-post');
$postValue  = get_the_ID();
$post_id    = (string)$postValue;
}else{
$cssClass = array('article');
}
?>

<?php if($firstPost): ?>
<?php $image =  wp_get_attachment_image_src(get_post_thumbnail_id($post_id));?>
<a href="<?php echo $image[0];?>">Test</a>

0

Решение

Кажется, вы используете wp_get_attachment_image_src неправильно, как описано в документации WordPress:

Возвращает упорядоченный массив со значениями, соответствующими URL (0), (1)
ширина, (2) высота и (3) масштаб вложения изображения (или значка)
представляя любое вложение).

Похоже, ваш код должен выглядеть следующим образом:

<?php if($firstPost): ?>
<?php
$image_attributes = wp_get_attachment_image_src(get_post_thumbnail_id($post_id));
$image = $image_attributes[0];
?>
<a href="<?php echo $image;?>">Test</a>

РЕДАКТИРОВАТЬ: На самом деле, я все еще не уверен, что вы используете, когда вы делаете это:

<a href="<?php echo $image;?>">Test</a>

Вы устанавливаете URL изображения в <a href></a>? Зачем? Разве это не должно быть так:

<img src="<?php echo $image;?>" />
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]