php 缩略图 失真,WORDPRESS缩略图失真变形模糊的解决方法
眾所周知,網站最怕改版,其中一個主要的原因就是縮略圖的問題,舊模板的縮略圖尺寸不一定適合新版的模板縮略圖尺寸要求,盡管后臺的設置-多媒體-縮略圖尺寸修改了,可這是新上傳的圖片才會生成新的尺寸的縮略圖,建站網想了很多辦法,也從鄭力大神那看到用ps加數據庫批量的方法,可是建站網里圖片太多,縮略圖尺寸也復雜不一,曾經還做過中文文件名md5轉換,用ps家數據庫批量的方法實在是復雜和累人!如何才能快速又方便的解決wordpress縮略圖尺寸重新裁剪的問題呢?從奶嘴那了解到谷歌的timthumb很好用,建站網就百度了下,確實找到相關的文獻,通過摸索,現在通過timthumb就可以自由的給縮略圖裁剪自己設定的縮略圖,可以說一個文章的縮略圖可以有幾個縮略圖的尺寸,做到全站所有要展現縮略圖的地方的尺寸都是最清晰的!下面我們來看教程:
01
02
function?post_thumbnail(?$width?= 100,$height?= 80 ){
03
global?$post;
04
if( has_post_thumbnail() ){????//如果有縮略圖,則顯示縮略圖
05
$timthumb_src?= wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
06
$post_timthumb?=?'
07
}?else?{
08
$post_timthumb?=?'';
09
ob_start();
10
ob_end_clean();
11
$output?= preg_match('//i',$post->post_content,?$index_matches);????//獲取日志中第一張圖片 ?
12
$first_img_src?=?$index_matches?[1];????//獲取該圖片 src
13
if( !empty($first_img_src) ){????//如果日志中有圖片
14
$path_parts?=?pathinfo($first_img_src);????//獲取圖片 src 信息
15
$first_img_name?=?$path_parts["basename"];????//獲取圖片名
16
$first_img_pic?= get_bloginfo('wpurl').'/cache/'.$first_img_name;????//文件所在地址
17
$first_img_file?= ABSPATH.?'cache/'.$first_img_name;????//保存地址
18
$expired?= 604800;????//過期時間
19
if?( !is_file($first_img_file) || (time() -filemtime($first_img_file)) >?$expired?){
20
copy($first_img_src,?$first_img_file);????//遠程獲取圖片保存于本地
21
$post_timthumb?=?'
22
}
23
$post_timthumb?=?'
24
$post_timthumb?=?'
25
echo?$post_timthumb;
26
}
27
}
28
?>
將上面的代碼放進WP的主題模板文件夾functions.php內,然后下載timthumb.php 文件放到主題根目錄下!然后通過:
1
這個函數就可以調用出裁剪好尺寸為243*182的縮略圖了,相應的縮略圖結構代碼參照:
1
"><?php post_thumbnail(243,182); ?>
總結
以上是生活随笔為你收集整理的php 缩略图 失真,WORDPRESS缩略图失真变形模糊的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python去掉空白行_python去掉
- 下一篇: python包含多个元组的元组_Pyth