Open Social

Open Social,这是一款 WordPress 社交平台登陆插件,个人原创,代码简洁,功能强大!

现在的用户都是超级懒的,我也不例外。如果一个网站动不动要我注册,不管祂的内容和服务有多好,我的内心肯定是抗拒的。要为此创作一个独一无二的账号和一个复杂好记又不雷同的密码,根本就是强人所难。

这个插件就是这样一个初衷:让你的网站用户唾手可得。类似 1Password 的思路,我们每天都会使用 QQ、微博、微信,如今可以将这些账号作为唯一的个人凭证,从而方便的登录各类其他平台和服务。

一开始插件的功能比较简单粗糙,定位是免费开源的。随着很多高级玩家的使用出现了很多应用和生产环境中出现的各种问题:账号过长,邮箱虚假,微博同步,微信打通等。在这个过程中投入了大量的时间和精力,针对各种高级功能发布了收费版。

有了这样一个东东,能大大提升体验和效率,那祂就是有价值的,可持续的,这也是我保持更新的动力。我本人购买了很多正版软件和应用,这是对好作品的支持和肯定;同样,我也希望自己的付出能得到正向的回报。

关于代码,我编程还行,但 PHP 新手;关于界面,我审美还行,但美工一般。信奉体验执着细节,相信只要想得到,肯定还是有很多优化空间的。任何意见建议都欢迎留言,非常感谢大家的支持,谢谢!温馨提示:咨询问题请留下邮箱网站方便联系和回访。

最新:最新版 4.0 采用代码混淆且仅支持单网站!价格¥180!已升级到 3.7 的朋友可免费升级;且将继续支持多个网站,但需要联系我进行配置。

功能特点

  • 社交登陆:QQ、微博、微信、淘宝、支付宝、谷歌、Facebook、Twitter、Linkedin …
  • 社交分享:QQ好友、QQ空间、微博、微信、Google+、Facebook、Twitter …
  • 其他功能:支持小工具和短代码、支持图标自定义、自动同步昵称头像、带中英语言
  • 使用环境:单 PHP 文件、自动升级、无加密、无第三方平台、无环境要求

购买说明

  • 免费版 1.6.8,基本停止更新,点此下载
  • 付费版¥180,自用并持续维护更新,购买及支持 请联系我
  • 升级费用为大版本间的差价,如 2.x 升级到 3.x 需 ¥100

付费专属

  • 多注册场景:自动随机生成、自主填写、邮箱激活、管理员审核、直接绑定老用户
  • 支持自定义:登录、分享按钮的样式及代码、统一的回调地址、注册界面样式
  • 微信相关:支持开放号和公众号、适配手机端、打通用户、多域名、微信 JSSDK
  • 其他功能:加强安全验证、增加出错提示、文章微博同步、用户列表查看绑定信息
  • 购买策略:一次购买,无使用时间限制;小版本免费升级,大版本升级需补差价
  • 使用限制:单个账号可用于单个网站;谢绝各种分享、修改分发或者转卖,谢谢

关于内置登录

如自己申请各种第三方社交平台的账号有难度(如国内的网站备案、微信的企业资格、国外的翻墙等),可另行付费使用作者本人的平台账号来登陆。

注意:第三方平台登陆的用户的专用识别都是基于平台账号,所以账号不能轻易更换,否则已创建的用户可能无法识别,有该相关顾虑的朋友请谨慎购买。

  • QQ、微博、百度、豆瓣、小米、开源中国,打包:¥100 / 年
  • 微信开放号、微信公众号、淘宝、支付宝,打包:¥300 / 年
  • Google、Microsoft、Facebook、Twitter、Github、Linkedin,Bundle: ¥200 / Year
  • Pinterest、Reddit、Instagram、Amazon、LINE、Wordpress,Bundle: ¥100 / Year

关于自动更新

  1. 注册或登录本网站(点击右侧社交图标并登陆)
  2. 购买转账并备注(或QQ告知)用户编号使用网站
  3. 用户编号填写到插件设置的更新字段中
  • 更新:插件更新会由系统内置更新机制统一管理可无需手工触发
  • 验证:在插件列表查看详细信息,显示版本为最新版本即为生效
  • 出错:如果更新出错,插件详细信息界面会有反馈具体错误信息

常见问题

0、插件有什么使用场景和限制

这是一个网页插件。如果在手机设备用普通浏览器中浏览,并无法调用移动端应用,如微信客户端。微信仅为企业级的合作伙伴如京东开放了 iPhone Safari 调用微信登录的功能,普通用户并未支持。

1、插件能获取什么用户资料

由于协议限制,大部分第三方登录只能获取用户的昵称和头像,少部分能够获取真实邮箱,所以生产环境中可能需要用户补全具体信息。另外,登陆时最主要的识别依据是具体用户在具体应用(网站)上的唯一编号。

2、回调地址要怎么设置?

新版后台可统一或单独自定义,默认为空即可网站主域名。一般为网站首页,如 https://www.xiaomac.com
QQ互联请添加后缀 /index.php,然后在插件后台设置回调地址形如:http://www.abc.com/index.php
——注意:申请国内第三方登陆可能需要网站备案,如申请确有难度可以购买内置登陆。

3、在那里获取 App ID/KEY 或 APP Secret

第三方平台的后台。两者叫法大同小异,公开的应用号叫 XXXX_ID/KEY;不公开的应用密钥叫 XXXX_SECRET

4、支持多站点吗?

支持;超级管理员在主站设置,子站自动继承配置。从子站进入并注册的新用户会自动从主站同步到子站。

5、为什么国外谷歌脸书推特等无法登陆?

服务器需要能够科学上网,目前国内空间基本不支持。如果需要请联系我购买内置登录。

6、为什么升级新版后某些功能没有生效?

一般是服务器开启了缓存插件或者 CDN 所致,请清空缓存,并刷新重试。

7、微信开放号微信公众号有什么区别?

完全不同。视网站使用人群,开放号是在电脑端(针对电脑群体)用手机扫码来登录;公众号是在手机微信中(针对手机群体)自动登录。插件会自动识别浏览器类型而显示对应的图标。两者可以互相绑定(通过 UnionID)来识别同一微信用户。微信公众号回调地址设置:公众号设置 / 功能设置 / 网页授权域名(开放号叫授权回调域)。

——微信登陆要求:服务号、微信认证
——接口权限要求:网页授权获取用户基本信息(微信登录);生成带参数二维码、获取用户基本信息(关注登录)

8、插件与其他插件兼容性如何?

支持自定义钩子,可在后台自行填写绑定, BuddyPress、WooCommerce  已默认内置。

9、用户注册时有些卡顿

一般这是服务器发送邮件失败引起的,可以尝试安装邮件插件进行配置:WP-Mail-SMTP

10、如何统一已注册用户的路径为编号

安装并启用插件 Debug Editor,运行如下代码:

$users = get_users();
foreach ($users as $user){
    wp_update_user(array('ID' => $user->ID, 'user_nicename' => $user->ID));
}

更新日志

= 4.0 =
* 优化:多站下自动同步配置和新用户
* 优化:字体图标默认使用 SVG 格式
* 新增:支持自定义登录分享按钮排序
* 新增:钉钉登录、支持分享默认图片
* 新增:可自定义字体图标的在线地址
* 新增:管理员可重置用户第三方头像
* 新增:可定义新用户邮箱地址黑名单
* 新增:兼容手机二维码微信分享提示
* 修复:BP 新用户会同步昵称的问题
* 修复:微信二维码不支持中文的问题
——将本页面分享到——
×Scan to share with WeChat

808 thoughts on “Open Social

  1. 木头核桃

    redirect uri is illegal(100010) 点QQ登录出错了。哪里没配置正确吗?

  2. 木头核桃

    知道了,小工具里也要设置一下。

  3. 木头核桃

    后台帐号配置 输入QQ APP ID APP KEY 保存不了是怎么回事?

  4. 天龙

    测试下来,在后台没有看到绑定账户的选项,还有一个函数open_social_hide_option里面$(‘table.form-table:not(:eq(2))’).hide();不注释掉的话,就只能看到用户ID,其他的取消绑定什么的都看不到了。。

    1. Link Post author

      是有个判断不全面的问题,修正了。目前应该能满足大部分逻辑的了。

    1. Link Post author

      你以为啊哈哈,我就是因为这个需求才弄了这个插件。我现在自己管理员登陆都是用QQ登陆的。超方便。
      ——在自己的资料页里就可以绑定。

  5. ♫ York

    升级后 豆瓣不能用了啊 。。。。
    你的也是不能用啊。。。

    1. Link Post author

      我测试没问题。

    2. ♫ York

      我用我的豆瓣账号 在你网页上登陆 出现:{“msg”:”not_trial_user: woodfeed”,”code”:110,”request”:”POST \/auth2\/auth”}
      在我自己网页登陆出现:{“msg”:”redirect_uri_mismatch: http:\/\/daifanyao.cn?connect=douban&action=callback”,”code”:117,”request”:”GET \/auth2\/auth”}

      我昨天升级之前还是正常的呢啊~ 升级之后就出现错误了啊

    3. Link Post author

      我这边报错:我豆瓣的应用还没提交,你不是测试用户所以无法登陆;
      你那边报错:升级后你的帐号配置被覆盖为空,所以出现回调不匹配。

      我升级了下,去掉配置文件,设置了帐号才自动生成。你重新配置一下帐号吧。

    4. ♫ York

      我更新后 有重新配置, 跟升级前是一样的,这点我确定。。。
      但就是 单单豆瓣的不行,实在是搞不懂哪里有问题啊。。。

    5. Link Post author

      从字面看,你回调地址没设对,而已。

  6. 0x11

    还有一个问题,在wp-login.php上放了按钮之后,用微博登陆,提示还要输入密码。

    1. Link Post author

      这个问题我知道的(实际已经登陆了),也是我屏蔽login入口的原因之一。
      登陆状态再次进入login页面,并不会判断登陆状态(这是一个不够人性化的bug,我也不想去动它的代码)。
      ——哦,刚想到,我这边登陆后也是有办法判断的,有时间我更新下这个问题吧。

  7. 0x11

    非常不错,楼主可以考虑下评论和微博同步,将微博上的评论回流到wp上。

    1. Link Post author

      这个其实都不是很难实现了,对着官方API就可以弄。不过目前应该不会弄得这么复杂了。有兴趣的也可以自己动手。

  8. Sunshinee°

    我的网站怎么弄不了呢? 好像还和Images Lazyload and Slideshow插件冲突

    1. Link Post author

      信息不全,搞不懂。

    2. Sunshinee°

      能给个联系方式么 网站hi10.cn 不知道怎么回事 不可以用 开启的登录插件 Images Lazyload and Slideshow 的图片显示空白

  9. 杨俊伟

    刚升级到1.0.6,评论内容前提示报错:Warning: preg_match() expects parameter 2 to be string, object given in …../open-social.php 746 行。

    我将行内的 $id_or_email,用放入 ’ ’ 内,解决!!

    1. Link Post author

      搞清楚了,调试模式下会有警告,头像函数有个逻辑问题。——修正了。

  10. 一刀

    豆瓣登录老提示这个:
    {“msg”:”redirect_uri_mismatch: http:\/\/www.zzmaixun.com\/?connect=douban&action=callback”,”code”:117,”request”:”GET \/auth2\/auth”}
    是我回调地址填错了吗?

    1. Link Post author

      忒定的了。一般都是填首页。我测试正常的。

    1. Link Post author

      我看了下代码,原来还可以有其他几个位置你试试吧,我迟点再升级完善。
      1、comment_form_top 评论表单顶部(效果看起来不错)
      2、comment_form_before_fields 资料输入框前面
      3、comment_form_after_fields 资料输入框后面
      4、comment_form 紧接着表单

    2. terwer

      好了 谢谢博主

    1. Link Post author

      百度的么,百度头像有两个版本。我是取了一个带 OpenID 的版本,并且自己是对的。可能是要考虑多谢样本?

  11. joynic

    感谢你的插件,足够的纯净,完全对得起:不重复、不复杂、不作恶。

    我有个站之前使用了水墨含烟的插件,总之代码各种冗余,而且还需要经第三方,在知道你这个插件之前,没办法不得不使用:(

    现在非常迫切想换成你的这个插件,请问能提供数据转换的方法吗?万分感谢。

    1. Link Post author

      你说数据转换,是指之前用旧插件绑定登陆的那些QQ等的用户可以用新插件登陆的意思吧?
      这个理论是可以做到的,不过要看看旧插件登陆时存储和内容,对新插件来说有没什么缺失。
      我是建议动手能力强的才去做这个尝试吧。

    2. joynic

      谢谢回复^_^就是你说的这个意思,因为如果不能兼容之前用其它插件登录产生的会员信息,那意味着用户又要重新授权了,会有很多重复的信息产生。

      真心希望大神能帮忙解决这个问题,因为实在被之前那个插件郁闷的不行啊

    1. Link Post author

      有的吧。不过我的初衷是不改代码也不动模板。
      插件现在可以实现登陆按钮有:评论表单前、评论表单后、登陆页、侧边栏,共四个位置。
      理论我应该在设置页面弄选项的,这是后面的TODO了吧。

    2. Link Post author

      短代码实际也是要动代码的。不是特别好的办法。

    3. joynic

      评论里面有代码会自动过滤掉。。。

    4. joynic

      用调用就可以了^_^

  12. 一刀

    后台设置页面有点丑,楼主可以考虑把代码放在github上,让大家一起完善。

    1. Link Post author

      嗯。没问题的。github这么高级的东西我还没开始接触;可能等我再实现多一些基础的想法,再考虑优化的事吧哈哈。谢谢支持先!

    1. Link Post author

      你 wp-config.php 的 WPLANG 是空值么,还是手工切换过了?切换回去就可以了。
      这个语言切换其实是我自用的,会自动识别用户系统语言,然后生成一个“本地< =>英文”的互相切换按钮;并且后台和前台语言是一致的。
      我自己经常用来切换,看看多语言包的情况,也有可能我刚加上去,有些情况还没考虑到。

    2. Link Post author

      你可以加下 Open Social Connect 这个 Widget,有个语言切换的按钮。
      看来我应该弄成不主动识别的:(

    3. 海滨稻香skating

      没发现这个widget,另外,可以在其他地方调用吗

    4. Link Post author

      手工拼 ?open_lang=zh_CN 也可以的。

    5. 海滨稻香skating

      原来切换语言的在前台!终于搞懂了!!

  13. 杨俊伟

    期待更多功能的实现,不过建议尽量设置功能的开关,目前我自己用的也是一个收费插件的老版本自己修改的!!

    1. Link Post author

      大概知道你指那个插件。。。也大概知道你指那些功能。。。涉及到一些 WP 的新用法,我也要熟悉熟悉哈哈,有时间我会接着弄的。谢谢支持撒!

    1. Link Post author

      晕死,跟二楼是一个问题,变量搞鬼。。。FIXed。

  14. lihao

    点击评论下的按钮测试,结果显示无法登录

    1. Link Post author

      晕死,有个变量没写对。更新了:(

    2. lihao

      “主要遵循:不重复、不复杂、不作恶”希望永久保持下去,我会支持并关注你的。

    1. Link Post author

      嗯。这个插件我打算做比较大的升级,所以重新申请了个地址。结果,新的还没通过,旧的就被关了:(

    2. iKx.me

      看起来很不错