如何获取帖子/页面的特色图像或第一张图像并将其显示为横幅?

时间:2012-11-09 作者:ndp

我正在制作一个旅游网站,对于每个页面/帖子,我想显示一个谷歌地图和帖子/页面中引用的地方的图像

图像有点像横幅大小,所以我不认为帖子缩略图可以(除非我可以得到缩略图来自的高分辨率图像)

我想得到这篇文章的第一张图片,将其包装成一个div,并将其与谷歌地图iframe一起显示

那么,在模板中有什么方法可以做到这一点吗?(在创建页面时,我总是可以使用一些廉价的技巧,比如将图像和iframe包装在一个特殊的div中,但我想知道是否有更简单的方法可以在不需要我做任何事情的情况下适用于每个第一个图像)

2 个回复
最合适的回答,由SO网友:Jen 整理而成

您可以将特色图像(或特色缩略图)用于此类型的功能。您可以控制使用的图像大小。。。它不必是“缩略图”大小。从codex:

get_the_post_thumbnail(get_the_ID(), \'thumbnail\');     // Thumbnail
get_the_post_thumbnail(get_the_ID(), \'medium\');        // Medium resolution
get_the_post_thumbnail(get_the_ID(), \'large\');         // Large resolution
get_the_post_thumbnail(get_the_ID(), \'full\');          // Original resolution

get_the_post_thumbnail(get_the_ID(), array(100,100) ); // Other resolutions
在主题中,此函数需要echoed以显示图像,因此您的循环可能如下所示:

while have_posts(): the_post();
    ?>
    <h2><?php the_title() ?></h2>
    <? echo get_the_post_thumbnail(get_the_ID(), \'large\'); ?>
    <? the_excerpt();
endwhile;
reference page.

----附录----

正如Andy在下面提到的,您还可以将自己的自定义尺寸添加到可能性列表中。在函数中添加几行代码。php文件:

function my_image_sizes()
{
    if ( function_exists( \'add_theme_support\' ) ) {
        add_theme_support( \'post-thumbnails\' );  
    }

    if ( function_exists( \'add_image_size\' ) ) { 
        //300 pixels wide (and unlimited height)
        add_image_size( \'category-thumb\', 300, 9999 ); 
        // Cropped to exactly 220px wide and 180 high
        add_image_size( \'homepage-thumb\', 220, 180, true ); 
    }
}
add_action(\'init\', \'my_image_sizes\');
然后可以在中使用这些自定义图像大小get_the_post_thumbnail(). 关于Codex.

SO网友:andy

如果所有横幅大小的图像都是相同的尺寸,则可以在函数中添加新的图像大小。php(http://codex.wordpress.org/Function_Reference/add_image_size)。

例如

add_image_size(\'banners\',728,90,true);
然后你可以上传图片,并将其设置为个人帖子和单曲中的特色图片。php文件通过插入以下内容显示横幅:

<?php if ( has_post_thumbnail() ) { the_post_thumbnail( \'banners\' ); } ?>

结束

相关推荐