WordPress系统默认使用Gravatar头像,用户(包括访客评论)的头像调取都是根据所留邮箱匹配的Gravatar头像。对于国内的用户来说还是有点麻烦,有没有什么办法可以让用户自己选择头像呢?这篇wordpress开发教程就来教你。
其实我们的思路是这样,已经有一款wordpress插件实现了这个功能,我们只需要把这个插件的功能代码移植到主题即可。这是那款插件:
原理分析:
通过研究插件代码,我们可以发现,插件的功能代码都在simple-local-avatars.php
文件里面,我们只需要将这个文件放到主题根目录中,例如inc
文件夹下,然后让主题加载它即可。
如何实现?
经测试,上面插件的 simple-local-avatars.php
文件加载后无效,我这里提供旧版本(1.3.1)的插件核心功能文件
将页底下载的 author-avatars.php
文件置入主题的根目录inc文件夹下,然后在主题根目录下的functions.php
的<?php
下添加以下代码加载它:
//用户自定义头像功能
include (TEMPLATEPATH . '/inc/author-avatars.php');
至此,你的WordPress站点已经支持用户自定义头像了,如果用户同时设置了Gravatar和本地上传头像,那么优先显示本地上传的头像,头像调取函数不变:get_simple_local_avatar 或 get_avatar
问题:
仅实现了功能,但仅支持从本地选取图片,不支持从媒体库选取(上面的插件支持)。
效果如图:
我使用wordpress自带的二〇二〇主题进行测试。
总结:
今天看到了这篇文章进行了尝试,
方案一:最新版本是2.1.1,插件有效,但插件压缩包中多了两个JS文件,尝试仅加载simple-local-avatars.php文件,有功能显示,但无法点击上传按钮。
方案二:将整个插件文件夹上传,然后加载simple-local-avatars.php文件,依然无法点击上传按钮。
尝试加载1.3.1版本的simple-local-avatars.php文件,功能实现,但无法从媒体库选取图片(新版功能)
若诸位开发者有完善加载新版本插件的方法,还请在评论区留言分享。
以下这几篇wordpress开发文章或许能够帮助到您: