Что не так с кодом wordpress?

Notice: Undefined offset: 1 in /home/b/btrainlb/wp.obgames.ru/public_html/wp-includes/class-wp-query.php on line 3252
Notice: Trying to get property of non-object in /home/b/btrainlb/wp.obgames.ru/public_html/wp-content/themes/obgames/index.php on line 179 бизнес-игра
Дана вот такая ошибка (сверху).
Есть вот такой код:
<?php the_post(); if (has_post_thumbnail()): ?>
	<img src="<?php the_post_thumbnail_url(); ?>" alt="Мероприятие">
		<?php else: ?>
		<div class="sbox__video-wrapper">    
		<?php 
		    $image = get_the_post_thumbnail_url($post->ID, 'medium');  // Та самая 179 строка
			$title = 'бизнес-игра ' . get_the_title();
		    if (!$image) $image = get_template_directory_uri() . '/img/no-image.jpg';
	echo "<img src='$image' alt='$title'>";	
			?>
		</div>
	<?php endif; ?>

Что не так? Почему выдаёт ошибку?
  • Вопрос задан
  • 298 просмотров
Пригласить эксперта
Ответы на вопрос 4
revenger
@revenger
49.5
var_dump($post)
Надо смотреть что в этой переменной.
В коде идет обращение к элементу $post->id, котого нет, вот и ругается.
Ответ написан
Комментировать
Newn
@Newn
Тебе нужно разобрать что возвращает функция get_the_post_thumbnail_url()
И что ей нужно передать в качестве аргумента, сдается мне, что достаточно, только id поста $post->ID

Логично подумать, что данная функция выдирает url картинки страницы(поста). Может это старая функция WP которая используется в шаблоне темы, может и нет. Проверяй и делай дампы.
Ответ написан
Комментировать
bingumd
@bingumd
...
Поменяйте:
$post->id

На:
get_the_ID()
Ответ написан
Комментировать
lamer350
@lamer350
กำลังสูงสุด
Внутри цикла вам вообще незачем передавать ID поста, он и так автоматически учитывается.
Вместо
$image = get_the_post_thumbnail_url($post->ID, 'medium');
сделайте просто $image = get_the_post_thumbnail_url('medium');
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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