the_post_thumbnail()函數(shù)用于獲取文章的特色圖像縮略圖。如果文章沒有添加特色圖像功能,可以查看add_theme_support()函數(shù)文章學習。
語法結(jié)構(gòu)
the_post_thumbnail( string|array $size = 'post-thumbnail', string|array $attr = '' )
參數(shù)
$size(string|array) 圖片大小,可以是以下幾個關(guān)鍵字:thumbnail, medium, large, full?;蛘咄ㄟ^函數(shù) add_image_size()函數(shù)定義尺寸的關(guān)鍵字?;蛘咦远x寬和高的大小,比如:(32,32)。默認值是 ‘post-thumbnail’。
$attr(string|array)屬性/值的一個數(shù)組,比如設置默認的class屬性
實例
直接使用
if(has_post_thumbnail()){
the_post_thumbnail();
}
自定義縮略圖的大小
if(has_post_thumbnail()){
the_post_thumbnail(array(200,200)); // 顯示200X200尺寸的縮略圖
}
這種方法的優(yōu)點的靈活,可以隨時通過代碼的調(diào)用顯示不同尺寸的圖片,缺點是如果有多處代碼則修改起來麻煩
預置尺寸
用到此方法請先看下面的函數(shù)介紹
add_image_size()函數(shù)是設置 WordPress 中上傳圖片縮略圖大小的一個函數(shù)
語法結(jié)構(gòu)
add_image_size( string $name, int $width, int $height, bool|array $crop = false )
參數(shù)
$name,要設置的縮略圖名稱,可接受thumbnail, medium, large, full等
$width, 設定的最大寬度
$height, 設定的最大高度
$crop,是否切割,如果設置為true則按照圖片剪裁自定義的高度和寬度對圖片進行剪裁,100%得到預設的圖片尺寸,不會壓縮圖片的寬高比,但是會在原圖的基礎上進行裁剪,同時不能控制圖片剪裁的起始點。false按照圖片的原始長寬比進行剪裁,不會缺失圖片的內(nèi)容
TIPS
實例
比如我們想在首頁和分類頁面使用不同的縮略圖大小,就可以先預置homepage-thumb和category-thumb這兩大小。方法是在functions.php文件中加入以下代碼
if ( function_exists( 'add_image_size' ) ){
add_image_size( 'category-thumb', 200, 200 ); // 預置一個名為’category-thumb’,200*200的縮略圖大小
add_image_size( 'homepage-thumb', 220, 180); //預置一個名為’homepage-thumb’,220*180的縮略圖大小
}
在首頁調(diào)用
the_post_thumbnail(‘homepage-thumb’); //顯示220*180的縮略圖
在分類頁面調(diào)用
the_post_thumbnail(‘category-thumb’); //顯示200*180的縮略圖
the_post_thumbnail函數(shù)輸出的html結(jié)構(gòu)
<img width="150" height="150" src="/uploads/img/" class="attachment-thumbnail wp-post-image" alt="" title="screenshot" />
由此可以看出,我們可以用css定義類attachment-thumbnail的樣式就可以了。但是如果我想分別為首頁和分類頁面定義不同的樣式,該怎么做呢?可以給縮略圖添加一個屬性,如
the_post_thumbnail(‘thumbnail’,array(‘class’ => ‘homepage-thumb’));
輸出的html結(jié)構(gòu)為
<img width="150" height="150" src="/uploads/img/"
class="homepage-thumb wp-post-image" alt="" title="screenshot" />
感興趣的朋友可以多多測試不同的方式,這篇文章就寫到這里。