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