解决Gravatar头像不显示及搬家升级各种问题修改汇总

搬家

自从服务器到期就开始研究搬家的事情,之前是阿里云服务器,一直支付宝扣费,后来看了账单才吓一跳,几百的服务器自然续费那么黑,果断放弃阿里了,可能是之前客服电话说活动没有搭理吧。后来看了其他几家服务器,综合选了腾讯,虽然费用也不低,但新用户多少有个活动福利,先体验一年看看吧。

搬家升级各种问题修改汇总

  1. 评论头像不显示
  2. 升级WordPress 6.1各种安全问题
  3. 清理多余过期不用的插件
  4. 更换Memcached缓存加速

腾讯云服务器活动地址:https://sheruo.com/goto/aHR0cHM6Ly91cmwuY24vakJnVTJFUDQ= 首年新用户仅需50R体验一年

1.评论头像不显示,

检查下图片路径发现存之前是保持到本地的,为了加速打开页面,之前是用的代码保存本地后调取的,后来发现是保持本地环节出现问题,由于是几年前的代码,跟7.4及8.0早已不兼容,所以直接砍掉了,后来刷新还是不显示头像,查看路径后发现大部分都已被墙,无奈只能到处搜刮一些镜像,下面分享出来方便大家调用。

//头像不显示更换镜像
add_filter('get_avatar', function ($avatar) {
   return str_replace([
//        'www.gravatar.com/avatar/',
        '0.gravatar.com/avatar/',
        '1.gravatar.com/avatar/',
        '2.gravatar.com/avatar/',
       'secure.gravatar.com/avatar/',
       'cn.gravatar.com/avatar/'
], 'cdn.sep.cc/avatar/', $avatar);
});

下面是一些国内镜像地址,测试基本都可以。
//sdn.geekzu.org/avatar/
//cdn.v2ex.com/gravatar/
//gravatar.loli.net/avatar/
//cdn.v2ex.com/gravatar/
//gravatar.zeruns.tech/avatar/
//cdn.sep.cc/avatar/
//gravatar.loli.net/avatar/
//gravatar.wp-china-yes.net/avatar/
//gravatar.zeruns.tech/avatar/

如果觉得上面的不稳定,也可以试试下面的cravatar 来代替,部署代码如下

if ( ! function_exists( 'get_cravatar_url' ) ) {
    /**
     * 替换 Gravatar 头像为 Cravatar 头像
     *
     * Cravatar 是 Gravatar 在中国的完美替代方案,你可以在 https://cravatar.cn 更新你的头像
     */
    function get_cravatar_url( $url ) {
        $sources = array(
            'www.gravatar.com',
            '0.gravatar.com',
            '1.gravatar.com',
            '2.gravatar.com',
            'secure.gravatar.com',
            'cn.gravatar.com',
            'gravatar.com',
        );
        return str_replace( $sources, 'cravatar.cn', $url );
    }
    add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );
    add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );
    add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
}
if ( ! function_exists( 'set_defaults_for_cravatar' ) ) {
    /**
     * 替换 WordPress 讨论设置中的默认头像
     */
    function set_defaults_for_cravatar( $avatar_defaults ) {
        $avatar_defaults['gravatar_default'] = 'Cravatar 标志';
        return $avatar_defaults;
    }
    add_filter( 'avatar_defaults', 'set_defaults_for_cravatar', 1 );
}
if ( ! function_exists( 'set_user_profile_picture_for_cravatar' ) ) {
    /**
     * 替换个人资料卡中的头像上传地址
     */
    function set_user_profile_picture_for_cravatar() {
        return '<a href="https://cravatar.cn" target="_blank">您可以在 Cravatar 修改您的资料图片</a>';
    }
    add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 );
}
//头像不显示更换镜像结束

如果上面代码还是不行或者后台不显示的话,那就改WordPress源文件吧,WordPress程序目录/wp-includes/link-template.php 大约4000多行,搜索gravatar.com进行替换即可。

2.升级WordPress 6.1各种安全问题

升级到新版6.1后,后台各种安全要求升级,php7.4+MySQL5.7或更高版本 MariaDB 10.3或更高版本,宝塔面板一顿升级,各种组件扩展安装后,出现个session_start()函数调用问题,更改后各种问题均已修复。

站点健康

清理插件和缓存加速这里就不过多说了,被隔离,先休息啦。

发表回复

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