前一段时间国内很多wordpress站点出现了头像不显示问题,出现这个问题的原因是v2ex提供的wordpress头像服务不能使用,使用其它头像服务的不受影响。狗哥这种对头像显不显示没追求的人是不会管它的,所以我一直没管它,正好DUX主题更新了头像源,直接拿来水一篇文章,没错,最近就是这么懒,直接拿过来就是我的了。
使用老版本DUX主题,或者DMD主题(近期更新)的用户可以按照下面的方法修改即可。
打开主题目录下的主题配置options.php
文件,找到关于gravatar的配置项,改成如下内容,没有的直接添加即可。
复制
$options[] = array( 'name' => __('头像服务器', 'haoui'), 'id' => 'gravatar_from', 'std' => "", 'type' => "select", 'desc' => "尝试选择适合自己的", 'options' => array( 'https://www.gravatar.com/avatar/' => 'https://www.gravatar.com/avatar/', 'https://secure.gravatar.com/avatar/' => 'https://secure.gravatar.com/avatar/', 'https://gravatar.wp-china-yes.net/avatar/' => 'https://gravatar.wp-china-yes.net/avatar/', 'https://sdn.geekzu.org/avatar/' => 'https://sdn.geekzu.org/avatar/', )); $options[] = array( 'id' => 'gravatar_from_custom', 'std' => '', 'desc' => '不使用以上选择,自定义头像服务器,如: <code>https://www.gravatar.com/avatar/</code>', 'type' => 'text');
DMD主题请修改id属性gravatar_from
为gravatar_url
,以前的单选改成了下拉列表,不清楚的直接覆盖。
然后在function_theme.php
文件中找到关于gravatar的钩子,改成如下代码,没有就新增。
复制
add_filter('get_avatar_url', '_get_avatar_url_tmd'); function _get_avatar_url_tmd($url) { $from = _hui('gravatar_from_custom'); if( !$from ){ $from = _hui('gravatar_from', 'https://gravatar.wp-china-yes.net/avatar/'); } $url = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&d=(.*).*/', $from.'$1?s=$2&d='.get_option('avatar_default'), $url); return $url; }
从该函数的命名中可以看出DUX作者浩子在编写时的心情不是那么美丽,tmd都出来了,咱们也懒得改,直接拿来用,毕竟改一下至少也得动好几次手指呢。
上面的代码DMD主题注意其中的_hui('gravatar_from', 'https://gravatar.wp-china-yes.net/avatar/')
,将gravatar_from
改成gravatar_url
即可。以前的代码都可以删掉了。
保存后去主题后台设置中选择一下新的头像服务地址,保存一下就可以在前端看到效果了。
可用头像源
- [推荐]七牛镜像源 https://dn-qiniu-avatar.qbox.me/avatar/
- [推荐]WP-China-Yes 镜像源 https://gravatar.wp-china-yes.net/avatar/
- [推荐]极客族 https://sdn.geekzu.org/avatar/
- Gravatar官方 WWW 源 https://www.gravatar.com/avatar/
- Gravatar官方 CN 源 https://cn.gravatar.com/avatar/
- Gravatar官方 EN 源 https://en.gravatar.com/avatar/
- Gravatar官方 secure 源 https://secure.gravatar.com/avatar/
评论 (0)