Typecho 可覆盖到后台的修改全局头像 CDN 地址方法

尚寂新
2021/06/21 14:19

非常简单。一句话就能说完,我还水个文...
config.inc.php或者index.php追加一个全局变量

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://sdn.geekzu.org/avatar/');

即可。以解决 Gravatar 官方源在国内无法访问的问题。

此方法不同于魔改主题的方法,这么搞,后台的有关于头像的地方都能覆盖到,也不用改动 Typecho 的源码,做到无伤改动,不影响升级。
此处使用极客族的镜像头像源作为示例。

文档里没有,那就读源码

/var/Typecho/Common.php

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
    if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
        $url = __TYPECHO_GRAVATAR_PREFIX__;
    } else {
        $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
        $url .= '/avatar/';
    }
    // 省略下面的内容,只展示重要部分
}

很显而易见,在外面定义一个全局变量,头像地址就能跟着全局变量定义的走了。

已有 2 条评论 (旧评论在前)
  1. BigHuaji
    回复
    BigHuaji
    2021-07-04 07:36 天津市 Android 10

    主题不错哎

  2. 匿名游客
    回复
    匿名游客
    2021-08-01 08:24 浙江省 Windows 7

    Gravatar 被墙了

添加新评论 (Markdown Supported)
(ノ°ο°)ノ
未验证,请点击此处跳转到 Github 进行游客身份验证。