Rumah php教程 PHP源码 利用Typecho解决Gravatar被墙的问题

利用Typecho解决Gravatar被墙的问题

Jun 08, 2016 pm 05:20 PM
avatar gt nbsp quot

下面来给各位介绍一个利用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,评论区域的头像问题就可以更简单的解决了,更新程序也不用重新修改源文件

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Tag artikel panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda Oct 04, 2023 pm 05:45 PM

    Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda

    Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz Sep 22, 2023 am 11:37 AM

    Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz

    Bagaimana untuk menukar warna bar tajuk pada Windows 11? Bagaimana untuk menukar warna bar tajuk pada Windows 11? Sep 14, 2023 pm 03:33 PM

    Bagaimana untuk menukar warna bar tajuk pada Windows 11?

    Bagaimana untuk mendayakan atau melumpuhkan pratonton lakaran kecil bar tugas pada Windows 11 Bagaimana untuk mendayakan atau melumpuhkan pratonton lakaran kecil bar tugas pada Windows 11 Sep 15, 2023 pm 03:57 PM

    Bagaimana untuk mendayakan atau melumpuhkan pratonton lakaran kecil bar tugas pada Windows 11

    Masalah Ralat OOBELANGUAGE dalam Pembaikan Windows 11/10 Masalah Ralat OOBELANGUAGE dalam Pembaikan Windows 11/10 Jul 16, 2023 pm 03:29 PM

    Masalah Ralat OOBELANGUAGE dalam Pembaikan Windows 11/10

    Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

    Apakah perbezaan antara Huawei GT3 Pro dan GT4?

    Paparkan panduan penskalaan pada Windows 11 Paparkan panduan penskalaan pada Windows 11 Sep 19, 2023 pm 06:45 PM

    Paparkan panduan penskalaan pada Windows 11

    10 Cara untuk Melaraskan Kecerahan pada Windows 11 10 Cara untuk Melaraskan Kecerahan pada Windows 11 Dec 18, 2023 pm 02:21 PM

    10 Cara untuk Melaraskan Kecerahan pada Windows 11

    See all articles