亚洲无乱码av毛片_爆乳喷奶水无码正在播放_国产免费AV东京热_免费观看的AV网站

獵盾網(wǎng)絡(luò)|周口網(wǎng)站建設(shè)優(yōu)化公司

解決WordPress中Gravatar頭像無法顯示訪問的問題

早前我們就曾發(fā)布過一篇關(guān)于?WordPress中的Gravatar 頭像無法訪問的顯示問題,也列出了幾種具體解決方法。Gravatar 頭像也是WordPress公司收購的產(chǎn)品。

解決WordPress中Gravatar頭像無法顯示訪問的問題

解決WordPress中Gravatar頭像無法顯示訪問的問題

其中方法一用的比較廣泛:使用官方https的頭像鏈接,目前這個(gè)https方式?jīng)]被墻,速度也還不錯(cuò),具體如下:

解決方法1:使用Gravatar的HTTPS(適用于任何主題):

在主題目錄中,找到并打開 functions.php 文件,把以下代碼復(fù)制放到該文件中:

// HackGravatatr
function liedun_get_ssl_avatar($avatar) {
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
return $avatar;
}
add_filter('get_avatar', 'liedun_get_ssl_avatar');

但是,這個(gè)解決方法從WordPress 4.2 版開始,就出現(xiàn)了一個(gè)顯示問題,就是頭像圖片比以前顯示的大了一倍。經(jīng)過相關(guān)技術(shù)研究發(fā)現(xiàn),從WordPress4.2版開始,引入了scrset,srcset屬性允許作者根據(jù)不同分辨率或不同的視窗尺寸提多個(gè)不同分辨圖像。用戶代理會(huì)根據(jù)之前獲取的任何資源做選擇,從而避免多個(gè)資源加載浪費(fèi)帶寬和相關(guān)性能問題。也就是可以根據(jù)屏幕密度顯示對(duì)應(yīng)尺寸的圖片,比如正常的PC顯示器默認(rèn)設(shè)備像素比都是1,iphone6是2,iphone6 plus就是3。

WordPress4.2+的scrset定義的2x的,如果之前的代碼獲取的圖片大小是50px,那么WordPress4.2版之后獲取到scrset里面的圖片大小就是100px了,這就是導(dǎo)致圖片顯示變大一倍的緣故。

該問題通過重寫代碼即可解決,新版代碼(參考)如下:

// HackGravatatr
function liedun_get_ssl_avatar($avatar) {
if (preg_match_all(
'/(src|srcset)=["\']https?.*?\/avatar\/([^?]*)\?s=([\d]+)&([^"\']*)?["\']/i',
$avatar,
$matches
) > 0) {
$url = 'https://secure.gravatar.com';
$size = $matches[3][0];
$vargs = array_pad(array(), count($matches[0]), array());
for ($i = 1; $i < count($matches); $i++) {
for ($j = 0; $j < count($matches[$i]); $j++) {
$tmp = strtolower($matches[$i][$j]);
$vargs[$j][] = $tmp;
if ($tmp == 'src') {
$size = $matches[3][$j];
}
}
}
$buffers = array();
foreach ($vargs as $varg) {
$buffers[] = vsprintf(
'%s="%s/avatar/%s?s=%s&%s"',
array($varg[0], $url, $varg[1], $varg[2], $varg[3])
);
}
return sprintf(
'<img alt="avatar" %s class="avatar avatar-%s" height="%s" width="%s" />',
implode(' ', $buffers), $size, $size, $size
);
} else {
return false;
}
}
add_filter('get_avatar', 'liedun_get_ssl_avatar');

什么是 Gravatar?

Gravatar是Globally Recognized Avatar的縮寫,是gravatar推出的一項(xiàng)服務(wù),意為“全球通用頭像”(已被墻),Gravatar 頭像也是WordPress公司收購的產(chǎn)品。如果在Gravatar的服務(wù)器上放置了你自己的頭像,那么在任何支持Gravatar的blog或者留言本上留言時(shí),只要提供你與這個(gè)頭像關(guān)聯(lián)的email地址,就能夠顯示出你的Gravatar頭像來。
Gravatar的概念首先是在國外的獨(dú)立WordPress博客中興起的,當(dāng)你到任何一個(gè)支持Gravatar的網(wǎng)站留言時(shí),這個(gè)網(wǎng)站都就會(huì)根據(jù)你所提供的Email地址為你顯示出匹配的頭像。當(dāng)然,這個(gè)頭像,是需要你事先到Gravatar的網(wǎng)站注冊并上傳的,否則,在這個(gè)網(wǎng)站上,就只會(huì)顯示成一個(gè)默認(rèn)的頭像。