溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

WordPress中用于獲取及自定義頭像圖片的PHP腳本怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2021-09-05 09:27:39 來源:億速云 閱讀:134 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹WordPress中用于獲取及自定義頭像圖片的PHP腳本怎么實(shí)現(xiàn),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

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

這個(gè)函數(shù)提供一個(gè) get_avatar 過濾器,用來過濾頭像的 Html 代碼(img 標(biāo)簽)。

如果在后臺(tái) “設(shè)置” 的 “討論” 里關(guān)閉 “顯示頭像選項(xiàng)” 則返回 False.

用法

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

參數(shù)

$id_or_email

(整數(shù) | 字符串 | 對(duì)象)(必須)用戶的 ID;郵箱;評(píng)論或者用戶的對(duì)象。如果在循環(huán)中可以使用 get_the_author_meta( 'ID' ) 函數(shù)調(diào)用當(dāng)前文章的作者。

默認(rèn)值:None

$size

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

默認(rèn)值:96
get_avatar()(獲取頭像)
$default

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

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

$alt

(字符串)(可選)頭像 img 標(biāo)簽的 alt 屬性內(nèi)容。

默認(rèn)值:False

返回值

(字符串 | 布爾)返回一個(gè)頭像的 img 標(biāo)簽,如果在后臺(tái) “設(shè)置” 的 “討論” 里關(guān)閉 “顯示頭像選項(xiàng)” 則返回 False.

例子

評(píng)論列表:

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

循環(huán),獲取當(dāng)前文章作者頭像:

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

自定義郵箱:

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


自定義頭像圖片的 alt 標(biāo)簽
WordPress 默認(rèn)使用的是 Gravatar 頭像,通過 get_avatar() 函數(shù)調(diào)用,一般用來在調(diào)用評(píng)論的時(shí)候使用。

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

搜索引擎的爬蟲是無法讀取圖片上到底是什么內(nèi)容的,只能靠它的 alt 標(biāo)簽,沒有了 alt 標(biāo)簽的圖片,對(duì) SEO 是非常不好的。

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

/**
  *WordPress 自定義頭像圖片的 alt 標(biāo)簽
  *根據(jù)不同的人生成不同的 alt 標(biāo)簽
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar ){
  $alt = 'Gravatar 頭像';//alt 標(biāo)簽的內(nèi)容
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt' );

這樣就行了,注意修改代碼里的 $alt 變量為你要修改成的 alt 標(biāo)簽內(nèi)容。

根據(jù)不同的人生成不同的 alt 標(biāo)簽

如果要根據(jù)不同的人放置不同的 alt 標(biāo)簽可以用下邊的例子代碼:

/**
  *WordPress 自定義頭像圖片的 alt 標(biāo)簽
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar, $id_or_email ){
  if( $id_or_email == 'bingoblog@163.com' || $id_or_email === 1 ){
    $alt = '博主 Gravatar 頭像';//博主的 alt 標(biāo)簽內(nèi)容
  }else{
    $alt = 'Gravatar 頭像';//普通訪客的 alt 標(biāo)簽內(nèi)容
  }
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt', 10, 2 );

如果已經(jīng)設(shè)置 alt 標(biāo)簽則不替換

如果你需要在已經(jīng)設(shè)置 alt 標(biāo)簽的內(nèi)容(get_avatar() 函數(shù)的 $alt 屬性)則不替換的時(shí)候可以用下邊的代碼:

/**
  *WordPress 自定義頭像圖片的 alt 標(biāo)簽
  *如果已經(jīng)設(shè)置 alt 標(biāo)簽則不替換
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar, $id_or_email, $size, $default, $alt ){
  if( !empty( $alt ) ) return $avatar;
  $alt = 'Gravatar 頭像';//alt 標(biāo)簽的內(nèi)容
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt', 10, 5 );

以上是“WordPress中用于獲取及自定義頭像圖片的PHP腳本怎么實(shí)現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI