edzillion
  • 0
Учитель

The_post_thumbnail() ничего не возвращает, хотя has_post_thumbnail() возвращает true

  • 0

has_post_thumbnail работает нормально, но the_post_thumbnail ничего не возвращает.

вот мой код:

if ($favorite_post_ids):
    foreach ($favorite_post_ids as $post_id) {
            $p = get_post($post_id);
            echo "<li>";
            echo "<a href='".get_permalink($post_id)."' title='". $p->post_title ."'>" . $p->post_title . "</a> ";
            wpfp_remove_favorite_link($post_id);
            if (has_post_thumbnail($post_id))
            {
                echo $post_id;
                the_post_thumbnail($post_id);
            }
            echo "</li>";
        }

Вот пример вывода:

* Post101 remove 101
* Post97 remove 97
* Post59 remove 59

Большая часть приведенного выше кода не имеет значения, я просто включил его для ясности. Я повторил $post_id, чтобы убедиться, что он передает if (has_post_thumbnail($post_id)), что он и делает, но the_post_thumbnail молча терпит неудачу. Я тоже пытался повторить это, но это тоже ничего не возвращает.

У меня в теме включены post_thumbnails:

if ( function_exists( 'add_theme_support' ) ) { 
  add_theme_support( 'post-thumbnails' ); 
}

есть идеи? Спасибо

Share
  1. Вы передаете неверный аргумент в the_post_thumbnail().

    Вот ваш код:the_post_thumbnail($post_id);

    Вот что the_post_thumbnail() ожидает:the_post_thumbnail( $size, $attr );

    Функция ожидает в $size качестве первого аргумента. Так $post_id как не является допустимым $size, функция не знает, что выводить.

    • 0

Оставить ответ

You must login to add an answer.