При использовании «orderby=comment_count» исчезают миниатюры записей (WordPress)

#wordpress-theming #wordpress

#wordpress-тематизация #wordpress

Вопрос:

Я пытаюсь отобразить самые популярные записи на основе комментариев на моей боковой панели. Я хочу, чтобы миниатюра записи отображалась рядом с заголовком, но когда я сортирую свои записи с помощью «orderby = comment_count», миниатюра исчезает. Если я показываю записи на основе названия категории, отображается миниатюра. Для справки, вот мой код:

 <?php $post_by_comment = new WP_Query('orderby=comment_countamp;posts_per_page=6'); ?>
<?php while ($post_by_comment->have_posts() ) : $post_by_comment->the_post(); ?>
<?php if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
the_post_thumbnail();
} 
?>
<?php endwhile;?>
  

Если я использую точно такой же код, но изменяю:

<?php $post_by_comment = new WP_Query('orderby=comment_countamp;posts_per_page=6'); ?>

Для

<?php $post_by_comment = new WP_Query('category_name=categorynameamp;posts_per_page=6'); ?>

миниатюры записей отображаются просто отлично. Что я здесь делаю не так?

Ответ №1:

Попробуйте получить_the_post_thumbnail и передать ему идентификатор, который вы ищете.

 get_the_post_thumbnail($post_by_comment->ID, 'thumbnail');
  

Я думаю, что причина, по которой это происходит неправильно, возможно, заключается в том, что the_post_thumbnail ожидает, что идентификатор будет $ post-> ID, а не $ post_by_comment-> ID (как у вас).

Я бы также использовал get_posts вместо запуска нового запроса, если это просто дополнительный список, а не основное содержимое страницы.

Комментарии:

1. О, и не забудьте повторить get_the_post_thumbnail!