縮略圖出現在文章列表頁面, 文章下方的相關文章, 分類頁面的類目圖片, 甚至有些博客很新潮地淡化文字以圖片瀑布流作為文章索引, WordPress 上常用的兩個調用縮略圖的方法, 以及他們的適用場景.
調用文章第一個圖片
WordPress Media 一直支持上傳圖片生成包括縮略圖, 中等尺寸, 大尺寸和原圖 4 個規格的圖片, 而這恐怕是為了方便我們在文章內調用不同尺寸的圖片. 雖然沒有直接調用縮略圖的方法, 但我們可以找到文章的第一個圖片作為縮略圖.
憑文章 ID 就可以找到第一個圖片. 這裏可以寫成方法如下, 用户獲取第一個縮略圖, 如果沒有上傳過圖片, 返回空字符串.
function getFirstImage($postId) {
$args = array(
'numberposts' => 1,
'order'=> 'ASC',
'post_mime_type' => 'image',
'post_parent' => $postId,
'post_status' => null,
'post_type' => 'attachment'
);
$attachments = get_children($args);
// 如果沒有上傳圖片, 返回空字符串
if(!$attachments) {
return '';
}
// 獲取縮略圖中的第一個圖片, 並組裝成 HTML 節點返回
$image = array_pop($attachments);
$imageSrc = wp_get_attachment_image_src($image->ID, 'thumbnail');
$imageUrl = $imageSrc[0];
$html = '<img src="'%20.%20$imageUrl%20.%20'" alt="' . the_title('', '', false) . '" />';
return $html;
}
|
調用的代碼如下.
$thumb = getFirstImage($post->ID);
if(strlen($thumb) > 0) {
echo $thumb;
} else {
// 顯示默認圖片或者不做任何事情
}
|
文章特徵圖片 (Featured Image) 功能
WordPress 2.9 之後, WordPress 提供了文章特徵圖片功能, 可以為文章設定一個上傳的圖片作為特徵圖片, 並可以給圖片設定多個尺寸以便在不同的環境使用. 可按一下步驟調用:
1. 為 WordPress 主題添加特徵圖片支持, 並設定特徵圖片的尺寸和別名.
add_theme_support('post-thumbnails'); // 支持特徵圖片功能
add_image_size('thumb', 180, 180); // 別名為 thumb, 尺寸為 150x150 的設定
add_image_size('recommend', 120, 120); // 別名為 recommend, 尺寸為 120x120 的設定
|
我們可以將以上代碼加到 functions.php 文件, 為主題添加添加了 Featured Image 支持, 並設定了 180×180 和 120×120 兩種尺寸的圖片.
其中
用於定義一種特徵圖片尺寸, 參考 WordPress Codex, 實際上它有 4 個參數.
- 第 1 個參數: 特徵圖片的尺寸別名, 用於調用不同尺寸的縮略圖.
- 第 2 個參數: 圖片的寬度
- 第 3 個參數: 圖片的高度
- 第 4 個參數: 參數是個布爾值, 用於指定圖片的裁切方式. 默認為
false
.
- 如果為
true
, 圖片會按較大的壓縮比例處理, 多餘部分裁剪掉. 比如現在有圖片 900×600, 要求壓縮成 150×150 的圖片, 那麼會先將圖片壓縮成 225×150 的圖片, 才裁剪成 150×150.
- 如果為
false
, 圖片會按較小的壓縮比例處理. 比如現在有圖片 900×600, 要求壓縮成 150×150 的圖片, 那麼會將圖片壓縮成 150×100 的圖片.
- 如果為
下圖是兩個縮略圖, 原圖 1024×768, 左縮略圖是
, 而右圖使用的是
.

2. 判斷是否存在特徵圖片和顯示縮略圖.
if(has_post_thumbnail()) {
the_post_thumbnail('thumb');
} else {
// 顯示默認圖片或者不做任何事情
}
|
上述代碼判斷文章中是否存在特徵圖片, 如果存在則顯示別名為 thumb 的縮略圖, 如果沒有可以顯示默認圖片或者留空. 我們在前面還設定了別名為 recommend 的縮略圖, 那麼我們可以在不同的場合使用不同的縮略圖. 比如: 在文章列表頁面使用
展示 180×180 的縮略圖, 而在文章底部的相關文章區域通過
展示 120×120 的縮略圖.
3. 在編寫文章的時候設定特徵圖片.
如果我們為主題添加了特徵圖片支持, 在編輯文章頁面上傳圖片後, 在 Insert into Post 按鈕的旁邊可以找到 Use as featured image 鏈接將圖片設為特徵圖片.
