搜尋
首頁php教程PHP源码利用Typecho解决Gravatar被墙的问题

下面来给各位介绍一个利用Typecho解决Gravatar被墙的问题,因为现在google与一些国外网站打不开所以也导致了Gravatar头像无法显示了,下面来看此问题的解决办法.

<script>ec(2);</script>

前两天Gravatar突然被墙,本来也没怎么在意,但是网站速度被拖得实在是难以忍受的地步,无奈,只好想一下解决方法,于是昨晚睡觉前百度了下,发现那些解决方案都是Wordpress的,例如@大发最新的解决方案:

function get_ssl_avatar($avatar) {
   $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','利用Typecho解决Gravatar被墙的问题',$avatar);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

但是Typecho并没有相关的文档,本想把大发的代码修改到TE,但是我不会PHP,看了好半天,翻了下程序源文件,怎么改都不行,于是我只好苦逼的修改源文件去了,希望好基友们看到后帮我鼓捣下。
好了,修改源文件其实也超级简单,只需要一行就可以了,方法如下:
打开 \var\Widget\Abstract\Comments.php 文件
在第413行找到“$url = $host . '/avatar/';”
修改为如下

        //$url = $host . '/avatar/';
        $url = 'https://secure.gravatar.com/avatar/';

然后保存就行了,就是把上面那个注释掉然后手动加一个链接。
最新版(1.0-14.10.10)的解决方法,同样是打开Comments.php,第397行,将下方代码:

$url = Typecho_Common::gravatarUrl($this->mail, $size, $rating, $default, $this->request->isSecure());
修改为:
$mailHash = NULL;
if (!empty($this->mail)) {
$mailHash = md5(strtolower($this->mail));
}
$url = 'https://secure.gravatar.com/avatar/';
if (!empty($this->mail)) {$url .= $mailHash;}
$url .= '?s=' . $size;
$url .= '&r=' . $rating;
$url .= '&d=' . $default;
//$url = Typecho_Common::gravatarUrl($this->mail, $size, $rating, $default, $this->request->isSecure());
“https://secure.gravatar.com”可以改成其它源。

多说的源:http://gravatar.duoshuo.com
七牛镜像源:http://avacdn.qiniudn.com
七牛镜像SSH源:https://dn-avacdn.qbox.me

当然自己搭建七牛镜像,或者反向代理Gravatar也是比较简单的,就不再赘述。
另外,如果你正在使用“评论墙”功能,那么可以在插件或者主题的function.php中找到如下代

$mostactive .= '利用Typecho解决Gravatar被墙的问题';
将其修改为如下:

//$mostactive .= '利用Typecho解决Gravatar被墙的问题';
$mostactive .= '利用Typecho解决Gravatar被墙的问题';


同样是将默认的注视,然后修改,源地址参考上面的自行修改即可。
另外,我的Wordpress的主题从GoodNice版本后就支持在设置中修改avatar的源了,方法如下:

设置头像源

 

方法二

将下方代码粘贴进入主题文件夹下的function.php内:

//自定义评论列表区域
function threadedComments($comments, $options) {
    $commentClass = '';
    if ($comments->authorId) {
        if ($comments->authorId == $comments->ownerId) {
            $commentClass .= ' comment-by-author';
        } else {
            $commentClass .= ' comment-by-user';
        }
    }
 
    $commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent';
?>
 


  •    

           

                            //头像CDN by Rich
                $host = 'https://secure.gravatar.com'; //自定义头像CDN服务器
                $url = '/avatar/'; //自定义头像目录,一般保持默认即可
                $size = '32'; //自定义头像大小
                $rating = Helper::options()->commentsAvatarRating;
                $hash = md5(strtolower($comments->mail));
                $avatar = $host . $url . $hash . '?s=' . $size . '&r=' . $rating . '&d=';
                ?>
                <?php echo $comments->author; ?>
                author(); ?>
           

           

                date('Y-m-d H:i'); ?>
                reply(); ?>
           

            content(); ?>
       

    children) { ?>
       

            threadedComments($options); ?>
       



  • }

    OK,评论区域的头像问题就可以更简单的解决了,更新程序也不用重新修改源文件

    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱門文章

    R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳圖形設置
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您聽不到任何人,如何修復音頻
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25:如何解鎖Myrise中的所有內容
    3 週前By尊渡假赌尊渡假赌尊渡假赌

    熱工具

    EditPlus 中文破解版

    EditPlus 中文破解版

    體積小,語法高亮,不支援程式碼提示功能

    SublimeText3 Linux新版

    SublimeText3 Linux新版

    SublimeText3 Linux最新版

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript開發工具

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Atom編輯器mac版下載

    Atom編輯器mac版下載

    最受歡迎的的開源編輯器