WordPress自定义头像的缓存问题

WordPress通过在functions.php文件里添加下面的代码,可以在后台【设置】->【讨论】下添加一个自定义的访客评论头像,选择之后只要评论的访客没有自己的国际通用gravatar头像,就会显示自己定义的默认头像,这样看起来舒服些。

//设置默认头像
function set_default_gravatar( $avatar_defaults ) {
        $myavatar = get_bloginfo('template_directory') . '/images/defaultgravatar.png';
        $avatar_defaults[$myavatar] = '自定义头像';
        return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'set_default_gravatar' );

把自己设置的头像图片放在主题文件夹下的images文件夹里就可以了,上面代码中设置的默认头像文件是defaultgravatar.png。

设置完后的头像在wordpress里正常的显示地址是 http://i0.wp.com/你的主题路径/images/defaultgravatar.png (有设置头像本地缓存的可能不是,没有测试过不知道),其实i0,i1,i2等等都可以访问。

后来发现这个地址居然有缓存,我换了设置的默认头像后,博客的头像一直没变化,使用路径http://你的主题路径/images/defaultgravatar.png访问的时候可以看到新的头像,用http://i0.wp.com/你的主题路径/images/defaultgravatar.png还是旧的。

本来想放几天看看会不会自己更新缓存的,今天使用我 bluesky 主题@映桥 同学也发现了这个问题,所以google搜索了一下,没发现有人提到这个问题,只好自己用最傻的办法——修改文件名——试了一下,问题可以解决。

需要修改的文件名有两个地方:1、修改自定义默认头像的文件名;2、functions.php文件里设置的函数里的默认头像文件名。

修改完以上两处文件名后,后台【设置】->【讨论】下还要再重新选择一次默认头像,这样保存后刷新就可以看到新的自定义头像了。

看到我的新自定义头像了么,上面有两个字,下面是人,上面是贱。

THE END

评论 4

  1. 🏆🏅

    好贱的人啊~~怎么好多木有头像的....

    1. 最好的解决方法还是自己注册个通用头像。

发表评论

幸会!