回复至:请问为什么用户的默认头像不能显示?

论坛首页 论坛 寻求帮助 请问为什么用户的默认头像不能显示? 回复至:请问为什么用户的默认头像不能显示?

#20715
孙锡源
管理员
    @ibadboy
    坏蛋的博客
    ibadboy.net

    WP-China-Yes的头像替换函数存在以下BUG:

    1. 可能由于其他插件、主题已经接管头像的原因导致无法替换
    2. 有的插件、主题使用get_gravatar_url()函数自行拼接头像,这种情况下无法替换

    为此我已经更了一个小版本修复此问题,见附件。

    或者直接把以下函数加入主题的functiongs.php里:

    if ( ! function_exists( 'wcy_get_avatar_url' ) ) {
        /**
         * 替换Gravatar头像的访问域名
         *
         * @param string $url
         *
         * @return string
         */
        function wcy_get_avatar_url( $url ) {
            return preg_replace( '/(([w|-]+.)+)?[w|-]+.w+/', 'gravatar.wp-china-yes.net', $url );
        }
    }
    add_filter( 'um_user_avatar_url_filter', 'wcy_get_avatar_url', 9999 );
    add_filter( 'bp_gravatar_url', 'wcy_get_avatar_url', 9999 );
    add_filter( 'get_avatar_url', 'wcy_get_avatar_url', 9999 );