[转]关于WORDPRESS缩略图必须了解的事情

你也许曾经或多或少的听说过一些关于wordpress2.9+内置缩略图功能。是的,你可以直接通过wordpress上传图片制作成缩略图,但是它不仅仅可以做出缩略图,你甚至可以控制缩略图的大小。

在本教程中,我将会涉及到很多关于缩略图的事情。有些是给普通的用户,也有的是写给正在制作开发wordpress主题或者插件的朋友。

有件事情很有必要在之前强调,就是缩略图是和文章绑定在一起,他们之间是不可以没有关系的。
普通用户想使用缩略图怎么办

首先,你所使用的wordpress主题必须支持该功能,否则,你将不可能使用这个功能。这里我们先假设你的主题支持这个功能,至于如果给主题添加这个功能将在后面的教程中提到。

要使用这个功能,你必须登录后台,然后确定你已经来到了文章编辑页面,在屏幕的右下方你会看到一个叫做“Post thumbnail”或者“Page thumbnail”(注:中文3.0以后的显示的是特色图片)

那里你会看到“Set thumbnail,”的按钮(注:中文3.0以后的显示的是添加特色图片),它能让你通过媒体上传工具添加新照片。

它不仅仅能够产生缩略图

虽然叫它缩略图,但是我们可以用它来做很多的事情。(例如特色图片,还有首页展示的中等大小的图片)

通常的,wordpress给你设置了三种缩略图大小,他们分别为

缩略图(Thumbnail)
中等图(Medium)
大图(Large)
原图(Full)

有些插件可以让你产生更多尺寸的缩略图,这里提这个只是想让你知道不仅仅有这么多种大小的缩略图你可以在这里使用~这个功能也不仅仅局限于缩略图。
如何让一个主题支持WORDPRESS内置的缩略图功能

主题编辑者,这里我将将这个描述的很容易。你只需要添加一行代码就可以让你的用户享受到这个功能。在function.php里添加如下代码:

add_theme_support( ‘post-thumbnails’ );

也许,你会想给些特定的文章设定缩略图样式。(上面的代码默认是给文章和页面都添加缩略图功能的),看看下面的代码:

add_theme_support( ‘post-thumbnails’, array( ‘post’, ‘page’ ) );

如果你只想给文章页面添加缩略图功能,你可以尝试下下面这个代码代替上面的:

dd_theme_support( ‘post-thumbnails’, array( ‘post) );

当然单单只添加这句代码,还不能在wordpress前台产生什么效果,你需要在主题文件中,你想要呈现缩略图的循环中插入代码。例如你想在文章分类列表中展示缩略图,你可以在主题文件中加入如下代码:

同时,你也可可以尝试如下代码,他会产生一个中等大小的缩略图:

大概就这么多了,作为一个主题的编辑者,你只需要添加一两行代码,就可以在你的主题中添加功能如此强大的缩略图。

教程剩下的内容将关注于缩略图的一些开发功能还有使用旧图像的一些选项。
确认文章里是否有缩略图

有时候,我们总会想先确认文章里是否有缩略图,有个函数叫做has_post_thumbnail(),它会根据是否存在缩略图返回true或者是false。

在下面的例子里,会先检查是否有缩略图,如果没有的话则输出我们提前准备的图片

‘;
?>

获取文章缩略图的ID

也许你需要编写自己的自定义脚本,但仍希望允许使用主题的人上传自己的图片。你可以获取文章的缩略图ID然后使用它。此ID保存在_thumbnail_id里。这是附加文件的ID。

你只需要通过下面的代码调用这个值

$image_id = get_post_thumbnail_id();

如何让返回值为图片而不是直接显示出图片

有时候,你可能想返回文章的缩略图然后再php代码中使用它,而不是直接显示出图片。下面这段代码可以实现这个功能:

$image = get_the_post_thumbnail( $post->ID, ‘thumbnail’ );

如何控制缩略图的尺寸

一些插件开发者或许希望可以控制缩略图的大小(亦或是主题开发者),post_thumbnail_size可以帮你做到这个。下面的代码的作用就是将缩略图大小控制为middle大小。

将下面的段代码插入function.php或者放入你插件里:

add_filter( ‘post_thumbnail_size’, ‘my_post_image_size’ );

function my_post_image_size( $size ) {
$size = ‘medium’;
return $size;
}

改变缩略图输出的HTML代码

有些情况下,你可能想改变缩略图输出的html代码,下面的例子里,我将展示如何给缩略图添加文章的链接。

将下面的php代码插入function.php或者插件的代码里:

add_filter( ‘post_thumbnail_html’, ‘my_post_image_html’, 10, 3 );

function my_post_image_html( $html, $post_id, $post_image_id ) {

$html = ‘‘ . $html . ‘‘;

return $html;
}

改过之后,对我之前的图片(缩略图)怎么办

也许你和我一样,之前都是通过自定义栏目来实现缩略图的,如果你突然改变使用这种方法,之前的那些文章都要改了。

我这里有个解决的方法,使用插件Get the Imag

0.4版的插件在wordpress2.9放出的时候公布的。他不仅支持给wordpress新文章添加缩略图,而且你不会丢失掉你之前添加的那些图片。这个插件可以在以下五个途径寻找文章的图片。

自定义栏目
新文章的缩略图
文章附加的图片
在文章里扫描得到的图片
默认图片

好好享受你文章的缩略图功能吧

我希望这篇教程可以给你对wordpress缩略图功能有更深的认识,有一些限制,但是总体上说,这个功能相对于其他的方法来说,使得缩略图更加方便了~

原文地址:Everything you need to know about WordPress 2.9′s post image feature

简单翻译by:ididi