简体   繁体   中英

wordpress get_the_post_thumbnail() doesn't show anything

I'm creating my first wordpress theme, I can't figure out why the post thumbnails aren't showing. it just does nothing(no errors). Here is my code:

<?php
    $args = array( 'posts_per_page' => 3, 'category' => 6);
    $postslist = get_posts( $args );
    foreach ( $postslist as $post ) :
      setup_postdata( $post );
    ?>
      <div class="col-xs-12 col-sm-4">
        <h4><?php the_title(); ?></h4>
        <?php get_the_post_thumbnail('small'); ?>
        <p><?php the_excerpt(); ?></p>
      </div>      

    <?php
    endforeach; 
    wp_reset_postdata();
  ?>

I'm using HTML5Blank Theme. And it supports thumbnails. this is the code for it in my functions.php file:

add_theme_support('post-thumbnails');
add_image_size('large', 700, '', true);
add_image_size('medium', 250, '', true);
add_image_size('small', 120, '', true);
add_image_size('custom-size', 700, 200, true);

我认为这是一个小的输入错误:samll-> small

You need to echo it like this echo get_the_post_thumbnail('small');
get_ functions store the data, they don't actually return it which is why you have to echo. They are useful in many cases like you could store it in a variable like $thumb-small = get_the_post_thumbnail('small'); and reuse it throughout the page.

the the_post_thumbnail function also used for get post image you can also do by this way.

<?php 
 if ( has_post_thumbnail() ) {
       the_post_thumbnail('small');
 }

?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM