the_post_thumbnail в цикле WordPress не будет работать - PullRequest
0 голосов
/ 10 июня 2018

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

Я попробовал с the_post_thumbnail и просмотрел https://codex.wordpress.org/Post_Thumbnails и другие подобные вопросы.

Надеюсь, вы можете помочь.

Мой цикл выглядит следующим образом:

  <?php
  $query = new WP_Query(array(
      'posts_per_page'   => 4,
  ));

  while ($query->have_posts()): $query->the_post(); ?>
     <ul>
         <li><?php the_title(); ?></li>
         <li><?php echo get_the_date(); ?></li>
         <li><?php
            if ( has_post_thumbnail() ) {
                the_post_thumbnail('thumbnail');
            } ?>
         </li>
     </ul>
  <?php endwhile;
  wp_reset_postdata();
  ?>

Ответы [ 4 ]

0 голосов
/ 04 февраля 2019

Я исправил код.В таких случаях вы можете использовать функцию get_the_post_thumbnail( $post_id ) и присвоить ее переменной.Затем вы можете echo it.

<?php
  $query = new WP_Query(array(
      'posts_per_page'   => 4,
  ));

  while ($query->have_posts()): $query->the_post(); ?>
     <ul>
         <li><?php the_title(); ?></li>
         <li><?php echo get_the_date(); ?></li>
         <li><?php
            $thumbnail = '';
            if ( has_post_thumbnail( get_the_ID() ) ) {
                $thumbnail = the_post_thumbnail( get_the_ID(), 'thumbnail');
            }
            echo $thumbnail; ?>
         </li>
     </ul>
  <?php endwhile;
     wp_reset_postdata();
  ?>

Подробную разницу между двумя функциями вы можете просмотреть в Как получить избранные изображения в WordPress - the_post_thumbnail & get_the_post_thumbnail

0 голосов
/ 10 июня 2018

Вы можете попробовать этот код, возможно, он работает.

<?php
  $query = new WP_Query(array(
      'posts_per_page'   => 4,
  ));

  while ($query->have_posts()): $query->the_post(); ?>
     <ul>
         <li><?php the_title(); ?></li>
         <li><?php echo get_the_date(); ?></li>
         <li><?php
            if ( has_post_thumbnail() ) {
                $image = get_the_post_thumbnail('thumbnail');
            } ?>
         </li>
     </ul>
  <?php endwhile;
  wp_reset_postdata();
  ?>
0 голосов
/ 10 июня 2018

Вам нужно добавить add_theme_support( 'post-thumbnails' ); в файл functions.php, чтобы миниатюры работали

0 голосов
/ 10 июня 2018

Здесь я отправляю код для вас, пожалуйста, проверьте.

<?php

//Args
$myquery = array(
    'post_type'      => 'post', // Here you add your post type
    'posts_per_page' => 4,
    'orderby'        => 'post_date', 
    'order'          => 'DESC'     
);

// The Query
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
    $the_query->the_post(); ?>
    <?php /* grab the url for the full size featured image */
    $featured_img_url = get_the_post_thumbnail_url(get_the_ID(),'full'); ?>
    <ul>
        <li><?php echo get_the_title(); ?></li>
        <li><?php echo get_the_date(); ?></li>
        <li><img src="<?php echo $featured_img_url; ?>" /></li>
    </ul>
<?php }
/* Restore original Post Data */
wp_reset_postdata();
} else {
// no posts found
}
...