當(dāng)前位置:首頁>WordPress建站>WordPress開發(fā)>WordPress附件函數(shù)總結(jié)

WordPress附件函數(shù)總結(jié)

WordPress附件可以是圖片、視頻、文本文件等類型,但大部分附件函數(shù)都是針對圖片的,本文總結(jié)了常用的附件函數(shù)使用方法。

wp_get_attachment_image_src()

<?php wp_get_attachment_image_src( $attachment_id, $size, $icon ); ?>

用于圖片類附件時,根據(jù)附件id和指定的尺寸($size,默認是thumbnail)獲取圖片的url、width、height,以數(shù)組形式返回結(jié)果,數(shù)組形式如下

Array
(
    [0] => 圖片url
    [1] => 圖片寬度width
    [2] => 圖片高度 height
    [3] =>  $is_intermediate的值 //true表示返回了縮放后的圖片,false表示返回了原始圖片
)

關(guān)于$is_intermediate參考http://codex.wordpress.org/Function_Reference/image_downsize

關(guān)于第三個參數(shù)$icon

如果要獲取的附件不是一張圖片,而是,比如說視頻,讓$icon為真可以返回代表視頻(mime type:video)的圖標,否則只能返回空值。這些代表不同mime type的圖片在wordpress wp-includes/images/crystal目錄下,如下圖所示

wordpress-image-attachment-funcitons-wpdaxue_com

wp_get_attachment_image()

<?php wp_get_attachment_image( $attachment_id, $size, $icon, $attr ); ?>

用于圖片類附件時,根據(jù)附件ID和指定的尺寸($size,默認是thumbnail)返回完整的img標簽,屬性包括寬度、高度、alt等。

如果是非圖片類附件,$icon為true時返回代表該附件類型的圖片,具體參考上面圖片的說明。

關(guān)于第四個參數(shù)$attr

這個參數(shù)可以給圖片標簽增加更多的屬性,屬性用數(shù)組來指定,例如給圖片增加一個title屬性

wp_get_attachment_image(
    $attachment_id,
    'thumbnail',
    false,
    array('title'=>'圖片標題')
 );

wp_get_attachment_url()

<?php wp_get_attachment_url( $attachment_id ); ?>

獲取附件的url

例如:

echo wp_get_attachment_url( 1 );
//返回
http://www.solagirl.net/wp-content/uploads/2012/12/image.jpg

wp_get_attachment_link()

<?php wp_get_attachment_link( $id, $size, $permalink, $icon, $text ); ?>

以超鏈接形式返回附件,鏈接包括:

如果是圖片,以img標簽形式返回某個尺寸的圖片

如果不是圖片,且$icon為true,以img標簽形式返回代表該類型文件的圖標

如果不是圖片,且$icon為false,返回附件標題

由$text指定的文字

例如:

echo wp_get_attachment_link( 1 );
//輸出
<a title="圖片標題" href="http://www.solagirl.net/wp-content/uploads/2012/12/image.jpg">
    <img width="150" height="150" alt="misuzu-air" class="attachment-thumbnail"
    src="http://www.solagirl.net/wp-content/uploads/2012/12/image.jpg">
</a>

如果指定了$te xt參數(shù),則圖片將被替換成文字。

the_attachment_link()

<?php the_attachment_link( $id, $fullsize, $deprecated, $permalink ); ?>

以超鏈接形式打印附件,與wp_get_attachment_link()基本類似,前者直接輸出結(jié)果,后者返回結(jié)果。

第二個參數(shù)不太一樣,$fullsize是布爾值,只能選擇true or false,表示是使用原始圖片(true)還是使用WordPress產(chǎn)生的縮略圖(false)。

get_attachment_link()

<?php $attachment_page = get_attachment_link($attachment_id); ?>

以字符串形式返回專門用于顯示該附件的頁面的url,這個頁面的模版通常是attachment.php。

與wp_get_attachment_url()的區(qū)別,后者以超鏈接形式返回附件的真實路徑。

wp_get_attachment_metadata()

<?php wp_get_attachment_metadata( $attachment_id, $unfiltered ); ?>

獲取圖片類附件的meta信息,附件與post一樣存儲在wp_posts表中,只是類型不同。attachment meta與post meta類似,存儲了有關(guān)該附件的全部信息。attachment meta可以告訴我們:

圖片的寬度、高度、原始文件路徑,

圖片會根據(jù)多媒體設(shè)定生成其它尺寸,這些不同尺寸的寬高等信息

包括圖片本身的信息,例如copyright、iso等

wp_get_attachment_thumb_url()

<?php wp_get_attachment_thumb_url( $attachment_id ); ?>

獲取附件圖像的縮略圖url

縮略圖尺寸在多媒體中設(shè)置(縮略圖大小一項),上傳圖片時會自動產(chǎn)生縮略圖。

wp_get_attachment_thumb_file()

<?php wp_get_attachment_thumb_file( $attachment_id ); ?>

此函數(shù)和上面那位很像,唯一的區(qū)別是它返回的是附件縮略圖的絕對路徑,例如

/home/user/www/wp-content/uploads/2012/12/image-150×150.jpg

在使用這個函數(shù)時,發(fā)現(xiàn)無法正常返回結(jié)果,修復(fù)的方法是找到這個函數(shù),修改成下面這樣

函數(shù)位于wp-includes/post.php line 4234

if ( !empty($imagedata['thumb']) && ($thumbfile = str_replace(basename($file), $imagedata['thumb'], $file)) && file_exists($thumbfile) )

return apply_filters( 'wp_get_attachment_thumb_file', $thumbfile, $post->ID );

替換成

if ( !empty($imagedata['sizes']['thumbnail']['file']) && ($thumbfile = str_replace(basename($file), $imagedata['sizes']['thumbnail']['file'], $file)) && file_exists($thumbfile) )

return apply_filters( 'wp_get_attachment_thumb_file', $thumbfile, $post->ID );

參考資料:http://www.solagirl.net/wordpress-image-attachment-funcitons.html

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號 WPDAXUE
WordPress開發(fā)

WordPress 儀表盤小工具接口(Dashboard Widgets API)

2013-6-5 9:31:52

WordPress開發(fā)

WordPress函數(shù):add meta box(添加Meta模塊)

2013-6-8 8:55:06

2 條回復(fù) A文章作者 M管理員
  1. gigs

    您好,自定義頁面中插入了3張圖,怎么以此獲取這三張圖的路徑,并輸出

  2. 不是很懂!但是這個什么附件會導(dǎo)致圖片生成內(nèi)容了:http://www.ydqwiac.cn/wordpress-theme-bokeh.html/attachment/Showcase-Template-Flat-Presentation 而且還會被百度抓取,應(yīng)該不友好

?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

贵阳市| 始兴县| 南汇区| 固安县| 泰来县| 永康市| 宁安市| 尼木县| 肇源县| 台湾省| 辽阳县| 剑河县| 定襄县| 平阴县| 读书| 利辛县| 台湾省| 麻江县| 吉安市| 昌图县| 寿阳县| 仪陇县| 乐都县| 大同市| 郓城县| 镇安县| 文昌市| 会东县| 涿州市| 沭阳县| 建瓯市| 阳江市| 海南省| 甘泉县| 定日县| 缙云县| 青阳县| 松阳县| 秭归县| 衡阳市| 南雄市|