国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Wordpress > 正文

WordPress中用于獲取及自定義頭像圖片的PHP腳本詳解

2024-09-07 00:48:12
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了WordPress中用于獲取及自定義頭像圖片的PHP腳本編寫方法,分別為get_avatar()和alt標簽的使用,需要的朋友可以參考下。

get_avatar()(獲取頭像)

get_avatar() 函數用來獲取置頂郵箱或者用戶的頭像代碼,在評論列表中非常常用。

這個函數提供一個 get_avatar 過濾器,用來過濾頭像的 Html 代碼(img 標簽)。

如果在后臺 “設置” 的 “討論” 里關閉 “顯示頭像選項” 則返回 False.

用法:

get_avatar( $id_or_email, $size, $default, $alt );

參數:

$id_or_email

(整數 | 字符串 | 對象)(必須)用戶的 ID;郵箱;評論或者用戶的對象。如果在循環中可以使用 get_the_author_meta( 'ID' ) 函數調用當前文章的作者。

默認值:None

$size

(整數)(可選)頭像的尺寸,最大為 512,單位為像素(px)。

默認值:96

get_avatar()(獲取頭像)

$default

(字符串)(可選)如果沒有頭像返回的圖片,默認為 “神秘人”,可以是圖片 URL.

默認值:空字符串(神秘人)

$alt

(字符串)(可選)頭像 img 標簽的 alt 屬性內容。

默認值:False

返回值

(字符串 | 布爾)返回一個頭像的 img 標簽,如果在后臺 “設置” 的 “討論” 里關閉 “顯示頭像選項” 則返回 False.

例子

評論列表:

<?php echo get_avatar( $GLOBALS['comment'] ); ?>

循環,獲取當前文章作者頭像:

<?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?>

自定義郵箱:

<?php echo get_avatar( 'email@example.com', 32, '', '自定義郵箱' ); ?>

自定義頭像圖片的 alt 標簽

WordPress 默認使用的是 Gravatar 頭像,通過 get_avatar() 函數調用,一般用來在調用評論的時候使用。

利用 get_avatar() 函數的第四個屬性 $alt 可以設置返回代碼的 alt 標簽,但是大多數人在使用的時候都不會去設置,也就變成了空白。

搜索引擎的爬蟲是無法讀取圖片上到底是什么內容的,只能靠它的 alt 標簽,沒有了 alt 標簽的圖片,對 SEO 是非常不好的。

如果想要給所有的頭像都統一加上一個 alt 標簽,可以把下邊的代碼放到主題的 functions.php(了解更多) 文件。

  1. /** 
  2.   *WordPress 自定義頭像圖片的 alt 標簽 
  3.   *根據不同的人生成不同的 alt 標簽 
  4.   *http://www.endskin.com/avatar-alt/ 
  5. */ 
  6. function Bing_avatar_alt( $avatar ){ 
  7.   $alt = 'Gravatar 頭像';//alt 標簽的內容 
  8.   $before = strpos$avatar"alt='" ); 
  9.   $after = strpos$avatar"'"$before ); 
  10.   if$before === false || $after === false ) return $avatar
  11.   $alt = esc_attr( $alt ); 
  12.   return substr$avatar, 0, $before ) . "alt='$alt" . substr$avatar$after + strlen"'" ) ); 
  13. add_filter( 'get_avatar''Bing_avatar_alt' ); 

這樣就行了,注意修改代碼里的 $alt 變量為你要修改成的 alt 標簽內容。

根據不同的人生成不同的 alt 標簽

如果要根據不同的人放置不同的 alt 標簽可以用下邊的例子代碼:

  1. /** 
  2.   *WordPress 自定義頭像圖片的 alt 標簽 
  3.   *http://www.endskin.com/avatar-alt/ 
  4. */ 
  5. function Bing_avatar_alt( $avatar$id_or_email ){ 
  6.   if$id_or_email == 'bingoblog@163.com' || $id_or_email === 1 ){ 
  7.     $alt = '博主 Gravatar 頭像';//博主的 alt 標簽內容 
  8.   }else
  9.     $alt = 'Gravatar 頭像';//普通訪客的 alt 標簽內容 
  10.   } 
  11.   $before = strpos$avatar"alt='" ); 
  12.   $after = strpos$avatar"'"$before ); 
  13.   if$before === false || $after === false ) return $avatar
  14.   $alt = esc_attr( $alt ); 
  15.   return substr$avatar, 0, $before ) . "alt='$alt" . substr$avatar$after + strlen"'" ) ); 
  16. add_filter( 'get_avatar''Bing_avatar_alt', 10, 2 ); 

如果已經設置 alt 標簽則不替換

如果你需要在已經設置 alt 標簽的內容(get_avatar() 函數的 $alt 屬性)則不替換的時候可以用下邊的代碼:

  1. /** 
  2.   *WordPress 自定義頭像圖片的 alt 標簽 
  3.   *如果已經設置 alt 標簽則不替換 
  4.   *http://www.endskin.com/avatar-alt/ 
  5. */ 
  6. function Bing_avatar_alt( $avatar$id_or_email$size$default$alt ){ 
  7.   if( !emptyempty$alt ) ) return $avatar
  8.   $alt = 'Gravatar 頭像';//alt 標簽的內容 
  9.   $before = strpos$avatar"alt='" ); 
  10.   $after = strpos$avatar"'"$before ); 
  11.   if$before === false || $after === false ) return $avatar
  12.   $alt = esc_attr( $alt ); 
  13.   return substr$avatar, 0, $before ) . "alt='$alt" . substr$avatar$after + strlen"'" ) ); 
  14. add_filter( 'get_avatar''Bing_avatar_alt', 10, 5 );

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博乐市| 姜堰市| 南澳县| 大关县| 铁岭县| 策勒县| 卫辉市| 曲沃县| 合川市| 江孜县| 承德市| 红桥区| 灵寿县| 射洪县| 上饶市| 镇江市| 双江| 合江县| 洪湖市| 阜新市| 浪卡子县| 黑河市| 张家川| 友谊县| 黄平县| 右玉县| 肥城市| 鄂州市| 陇西县| 黄石市| 上林县| 武胜县| 池州市| 宜黄县| 漳平市| 永吉县| 宜春市| 巴塘县| 怀柔区| 金塔县| 青河县|