検索
ホームページ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 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

    PhpStorm Mac バージョン

    PhpStorm Mac バージョン

    最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター