如何获得Post thumbnail url

时间:2016-01-02 03:56:31

标签: php wordpress

我有一页,可以显示类别的帖子 我正在使用此代码

     <div id="grid" class="grid-container" style="display: block;">
     <ul class="grid columns-2">
     <?php
     $args = array(
    'category' => 0,
    'numberposts' => 9,
    'post_type' => 'post',
    'post_status' => 'publish',
    'suppress_filters' => true );
     $recent_posts = wp_get_recent_posts($args);
     foreach( $recent_posts as $recent ){
     echo '<li><a href="' . get_permalink($recent["ID"]) 
     . '" title="'.$recent["post_title"].'" ><img class="aligncenter wp-image-80" src="" alt="'.$recent["post_title"].'"/></a>
     <h4>'.$recent["post_title"].'</h4></li> ';
            }
        ?>
    </ul>
</div>

问题是,我无法显示缩略图 而我正试图找到如何获得缩略图网址并将其放入其中

3 个答案:

答案 0 :(得分:1)

get_the_post_thumbnail 不是正确的答案,因为该函数调用会为您提供如下内容:<img src="#">,而不是仅使用某些URL。

好吧,以此为例。

根据我的理解,你只需要获得post thumbnail url,而不是完整的HTML img对象,这就是你可以实现的目的:

$args =array('numberposts' => 1,'post_type' => 'post','order' => 'DESC', 'posts_per_page'  => 1);
$data = query_posts($args);
$something = NULL;
for($i=0;$i<count($data);$i++){ 
    $something[$i]['id'] = $data[$i]->ID;
    $post_thumbnail_id = intval(get_post_thumbnail_id( $something[$i]['id'] ));
    $array_thumbnail = wp_get_attachment_image_src( $post_thumbnail_id,'medium');
    $something[$i]['image_url']=$array_thumbnail[0];
    echo $something[$i]['image_url'];
}

$ args =查询的参数。

$ data =查询结果集。

$ something =您将用于存储您要使用的帖子集的精选图片的网址的数组(在这种情况下只是一个,作为查询之一争论如此说。)

$ something [$ i] ['id'] =您正在使用的每个帖子的ID。

$ post_thumbnail_id =图片的ID设置为媒体库中当前帖子中的精选图片。

$ array_thumbnail =您需要的图片的实际网址,因为您可以看到它意味着您获取当前帖子中当前设置为精选图片的HTML img对象的src值

$ something [$ i] ['image_url'] =这就是你要找的东西。

- 使用的功能 -

<强> get_post_thumbnail_id($ POST_ID)

<强> wp_get_attachment_image_src($ media_post_id,$大小)

答案 1 :(得分:0)

通过传递帖子ID来尝试以下代码段。

get_the_post_thumbnail( $post_id );                   

get_the_post_thumbnail( $post_id, 'thumbnail' );      // Thumbnail (Note: different to Post Thumbnail)
get_the_post_thumbnail( $post_id, 'medium' );         // Medium resolution
get_the_post_thumbnail( $post_id, 'large' );          // Large resolution
get_the_post_thumbnail( $post_id, 'full' );           // Original resolution

get_the_post_thumbnail( $post_id, array( 100, 100) ); // Other resolutions

参考网址:
https://developer.wordpress.org/reference/functions/get_the_post_thumbnail/

答案 2 :(得分:-1)

使用get_the_post_thumbnail功能。
在这种情况下,最好使用WordPress的Loop基础 参考文献:
https://codex.wordpress.org/The_Loop
https://codex.wordpress.org/The_Loop_in_Action