WordPress循环中的the_post_thumbnail不会工作

时间:2018-06-10 11:05:51

标签: php wordpress loops templatetags

我也是新手,我不能让我的循环显示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 :(得分:0)

我在这里为您发送代码,请检查。

<?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
}

答案 1 :(得分:0)

您可以尝试使用此代码,也许它可以正常运行。

<?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();
  ?>

答案 2 :(得分:0)

您需要将add_theme_support( 'post-thumbnails' );添加到functions.php文件中才能使缩略图正常工作

答案 3 :(得分:0)

我已修复代码。在这种情况下,您可以使用get_the_post_thumbnail( $post_id )函数并将其分配给变量。然后,您可以echo

<?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();
  ?>

您可以通过How to get featured image in WordPress - the_post_thumbnail & get_the_post_thumbnail

浏览这两个功能之间的详细区别。