《wordpress中縮略圖調取幾種方法》要點:
本文介紹了wordpress中縮略圖調取幾種方法,希望對您有用。如果有疑問,可以聯系我們。
憑文章ID就可以找到第一個圖片,這里可以寫成方法如下,用戶獲取第一個縮略圖,如果沒有上傳過圖片,返回空字符串.DEDECMS案例
以下代碼貼入主題的function.php文件:DEDECMS案例
- //縮略圖獲取
- add_theme_support(?'post-thumbnails'?);?
- set_post_thumbnail_size(?140,?98?,true?);//設置縮略圖的尺寸
- function?dm_the_thumbnail()?{?
- ????global?$post;?
- ????//?判斷該文章是否設置的縮略圖,如果有則直接顯示
- ????if?(?has_post_thumbnail()?)?{?
- ????????echo?'<a?href="'.get_permalink().'">';?
- ????????the_post_thumbnail();?
- ????????echo?'</a>';?
- ????}?else?{?//如果文章沒有設置縮略圖,則查找文章內是否包含圖片
- ????????$content?=?$post->post_content;?
- ????????preg_match_all('/<img.*?(?:?|\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?:?|\t|\r|\n)+.*?)?>/sim',?$content,?$strResult,?PREG_PATTERN_ORDER);?
- ????????$n?=?count($strResult[1]);?
- ????????if($n?>?0){?//?如果文章內包含有圖片,就用第一張圖片做為縮略圖
- ????????????echo?'<a?href="'.get_permalink().'"><img?src="'.$strResult[1][0].'"?/></a>';?
- ????????}else?{?//?如果文章內沒有圖片,則用默認的圖片.
- ????????????echo?'<a?href="'.get_permalink().'"><img?src="'.get_bloginfo('template_url').'/img/thumbnail.jpg"?/></a>';?
- ????????}?
- ????}?
- }?
代碼注釋相當詳細了,這里不過多說明,添加新文章的時候,右側有個設置縮略圖,這樣就行了.DEDECMS案例
方法二,代碼如下:DEDECMS案例
- 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="'?.?$imageUrl?.?'"?alt="'?.?the_title('',?'',?false)?.?'"?/>';?
- ?return?$html;?
- }?
調用的代碼如下:DEDECMS案例
- $thumb?=?getFirstImage($post->ID);?
- if(strlen($thumb)?>?0)?{?
- ?echo?$thumb;?
- }?else?{?
- ?//?顯示默認圖片或者不做任何事情
- }?
文章特征圖片(Featured Image)功能DEDECMS案例
WordPress 2.9之后,WordPress 提供了文章特征圖片功能,可以為文章設定一個上傳的圖片作為特征圖片,并可以給圖片設定多個尺寸以便在不同的環境使用,可按一下步驟調用:DEDECMS案例
1.為WordPress主題添加特征圖片支持,并設定特征圖片的尺寸和別名,代碼如下:DEDECMS案例
- PHPadd_theme_support('post-thumbnails');?//?支持特征圖片功能
- add_image_size('thumb',?180,?180);?//?別名為?thumb,?尺寸為?150x150?的設定
- add_image_size('recommend',?120,?120);?//?別名為?recommend,?尺寸為?120x120?的設定
- 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 支持,并設定了 180x180 和 120x120 兩種尺寸的圖片.DEDECMS案例
其中 add_image_size 用于定義一種特征圖片尺寸,參考 WordPress Codex,實際上它有 4 個參數.DEDECMS案例
第 1 個參數:特征圖片的尺寸別名,用于調用不同尺寸的縮略圖.DEDECMS案例
第 2 個參數:圖片的寬度DEDECMS案例
第 3 個參數:圖片的高度DEDECMS案例
第 4 個參數:參數是個布爾值,用于指定圖片的裁切方式, 默認為 false.DEDECMS案例
如果為 true,圖片會按較大的壓縮比例處理,多余部分裁剪掉,比如現在有圖片 900x600,要求壓縮成 150x150 的圖片,那么會先將圖片壓縮成 225x150 的圖片,才裁剪成 150x150.DEDECMS案例
如果為 false,圖片會按較小的壓縮比例處理,比如現在有圖片 900x600,要求壓縮成 150x150 的圖片,那么會將圖片壓縮成 150x100 的圖片.DEDECMS案例
歡迎參與《wordpress中縮略圖調取幾種方法》討論,分享您的想法,維易PHP學院為您提供專業教程。