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文件里设置的函数里的默认头像文件名。

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

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

作者: LMS

天行贱,君子自强自息。

标签

《WordPress自定义头像的缓存问题》有4个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注