@vfvnvsyevsky

Как изменить отдельные строки кода PHP с учетом внесения изменений в код?

Код для Wordpress, он миниатюру поста делает задним фоном.

<?php if (have_posts()) : while (have_posts()) : the_post(); 
$id = get_post_thumbnail_id( );
$background_url = wp_get_attachment_image_src( $id );?>
<div style="background-image:url('<?php echo $background_url[0]; ?>')">


Но при использовании его таким методом почему то не срабатывает:

$q = new WP_Query($args); 
if( $q->have_posts() ): while($q->have_posts()): $q->the_post();
$id = get_post_thumbnail_id( );
$background_url = wp_get_attachment_image_src( $id ); ?>
<div style="background-image:url('<?php echo $background_url[0]; ?>')">

В чем может быть причина и как исправить?
  • Вопрос задан
  • 2373 просмотра
Решения вопроса 1
@vfvnvsyevsky Автор вопроса
Тему можно закрыть.
Код внезапно заработал.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Reshat
@Reshat
А ваш $q действительно have_posts? Может он вам false принес.
Ответ написан
ivankomolin
@ivankomolin
Если этот код
<div style="background-image:url('<?php echo $background_url[0]; ?>')">

Выводит
<div style="background-image:url('')">
Значит нужно сделать дамп $background_url и посмотреть что там. Скорее всего там ничего нет. Если это так, то сделать дамп $id, и если он есть то копать функцию wp_get_attachment_image_src() а если нет, то функцию get_post_thumbnail_id().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы