原文链接:http://csspod.com/archives/post-thumbnail-images-since-wordpress-2-9
本文译自WordPress开发成员Mark Jaquith写的New in WordPress 2.9: Post Thumbnail Images,介绍缩略图的设置和调用。
以下为译文
许多WordPress主题使用图片代表每篇文章,特别是一些杂志般布局的。图片可能只在首页显示,可能是独立的,或者放在摘要旁边。迄今为止,并没有标准化的方法来实现这个功能。很多主题需要用户冗长乏味的在自定义域中输入图片URL,图片通常需要手动裁切。从WordPress 2.9开始,主题作者可以轻松地开启缩略图选择界面,然后使用简单的
模板标签调用图片。
首先,在主题的functions.php中声明该主题支持缩略图功能,这将开启WP管理后台中的缩略图设置界面。
add_theme_support( 'post-thumbnails' );
上面的代码将在文章(Post)和页面(Page)两种内容模型中都开启缩略图选择界面,如果只想选择其一,可以添加参数:
add_theme_support( 'post-thumbnails', array( 'post' ) ); // Add it for posts
add_theme_support( 'post-thumbnails', array( 'page' ) ); // Add it for pages
添加所需的行到functions.php中即可。
set_post_thumbnail_size( 50, 50 ); // 50 pixels wide by 50 pixels tall, box resize mode
set_post_thumbnail_size( 50, 50, true ); // 50 pixels wide by 50 pixels tall, hard crop mode
现在可以利用模板函数在主题中显示这些图片,这些函数应放到主循环中(译者注:作者根据2.9撰写此文,根据3.0默认主题的代码来看,不在主循环内也能使用这些函数调用缩略图)。
这些是最基本用法,下面是一些高级用法。
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 50, 50, true ); // Normal post thumbnails
add_image_size( 'single-post-thumbnail', 400, 9999 ); // Permalink thumbnail size
home.php或者index.php的代码,取决于主题结构:
single.php代码:
set_post_thumbnail_size()仅仅调用add_image_size( 'post-thumbnail' )——默认的文章缩略图“句柄”,但正如你所见可以添加额外的句柄来调用add_image_size( $handle, $width, $height, {$hard_crop_switch} );,使用的时候区分句柄即可the_post_thumbnail( $handle );
if ( function_exists( 'add_theme_support' ) ) { // Added since 2.9
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 50, 50, true ); // Normal post thumbnails
add_image_size( 'single-post-thumbnail', 400, 9999 ); // Permalink thumbnail size
}