WordPress附件函數總結

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

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

    附件模板文件

    https://developer.wordpress.org/themes/template-files-section/attachment-template-files/

    來源于:

    https://www.solagirl.net/wordpress-image-attachment-funcitons.html

    wp_get_attachment_image_src()

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

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

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

    關于$is_intermediate參考http://codex.wordpress.org/Function_Reference/image_downsize

    關于第三個參數$icon

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

    WordPress附件函數總結

    wp_get_attachment_image()

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

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

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

    關于第四個參數$attr

    這個參數可以給圖片標簽增加更多的屬性,屬性用數組來指定,例如給圖片增加一個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 );
    ?
    //返回
    https://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="https://www.solagirl.net/wp-content/uploads/2012/12/image.jpg">
    ????<img width="150"?height="150"?alt="misuzu-air"?class="attachment-thumbnail"
    ????src="https://www.solagirl.net/wp-content/uploads/2012/12/image.jpg">
    </a>
    

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

    the_attachment_link()

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

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

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

    get_attachment_link()

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

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

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

    wp_get_attachment_metadata()

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

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

    • 圖片的寬度、高度、原始文件路徑,
    • 圖片會根據多媒體設定生成其它尺寸,這些不同尺寸的寬高等信息
    • 包括圖片本身的信息,例如copyright、iso等

    wp_get_attachment_thumb_url()

    <?php wp_get_attachment_thumb_url(?$attachment_id?); ?>
    

    獲取附件圖像的縮略圖url

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

    wp_get_attachment_thumb_file()

    <?php wp_get_attachment_thumb_file(?$attachment_id?); ?>
    

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

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

    在使用這個函數時,發現無法正常返回結果,修復的方法是找到這個函數,修改成下面這樣

    函數位于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 );
    

    ?

    來源于

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 3d动漫精品一区视频在线观看| 亚洲精品国产suv一区88| 亚洲一区二区免费视频| 亚洲中文字幕一区精品自拍| 中文字幕久久久久一区| 国产精品久久亚洲一区二区| 在线播放一区二区| 无码精品视频一区二区三区| 精品视频一区二区| 成人欧美一区二区三区在线视频| 无码人妻精品一区二区三区夜夜嗨| 美女视频一区二区三区| 亚洲乱码av中文一区二区| 制服丝袜一区在线| 国模吧一区二区三区| 自慰无码一区二区三区| 亚洲综合无码精品一区二区三区| 久久亚洲中文字幕精品一区四| 精品免费国产一区二区三区| 人妻av综合天堂一区| 国产精品无码一区二区三区毛片| 精品亚洲A∨无码一区二区三区| 亚洲AV无码一区二区乱子伦| 亚洲av无码一区二区三区网站 | 日本一区二区在线不卡| 日韩福利视频一区| 福利电影一区二区| 日韩社区一区二区三区| 一区二区三区日本视频| 中文字幕一区二区三| 中文字幕VA一区二区三区 | 国产香蕉一区二区三区在线视频| 无码国产精品一区二区免费| 性色av闺蜜一区二区三区| 国产精品亚洲一区二区三区在线观看| 波多野结衣在线观看一区| 成人区人妻精品一区二区不卡网站| 国产成人无码一区二区在线观看| 久久免费国产精品一区二区| 国产精品一区二区久久| 婷婷亚洲综合一区二区|