WP Open Social

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

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

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

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

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

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

  • 由于 Open Social 跟谷歌一个历史项目重名,为了区分插件改名为:WP Open Social
  • 从 5.0 版本起,代码遵循 MIT 许可协议:可任意修改和使用,在保留许可协议前提下;由插件引起的损失或意外本人概不负责。
  • 5.0版本起,更新前需要先备份 mod 目录,然后手工覆盖更新。如通过系统自动更新的话模块目录会被覆盖掉。

基础功能

  • 主要功能:QQ、微博、微信、谷歌、Facebook、Twitter 等登录和分享
  • 其他特色:支持安全验证、支持登录出错提示、用户列表可查看用户绑定信息
  • 使用环境:无系统环境要求、无第三方库、无加密混淆、无任何网站域名限制

版本说明

最新 5.0 的核心代码统一免费开源,高级模块按需收费。
升级到专业版费用:4.X(免费)、3.X(¥100)、2.X(¥200)。
如旧版自动升级出现问题,请联系我索取新版。

  • 基础版(¥0 ):WordPressGithub,包含兼容模块、包含国内外八个主流社交平台
  • 专业版(¥300):联系我,包含基础功能、包含所有非专属模块
  • 旗舰版(¥? ):包含专属代理模块、支持自动更新

模块介绍

  • 兼容模块(¥0 ):兼容 WooCommerce、BuddyPress 等热门插件,可自定义钩子
  • 冷门平台(¥20 ):拓展国内外各种非主流社交媒体平台如 淘宝支付宝、Pinterest
  • 注册模块(¥50 ):可随机生成、自主填写邮箱、邮箱激活、管理员审核、绑定老用户
  • 微博模块(¥50 ):管理员绑定微博发布文章可同步到微博、可计划发布、可查看结果
  • 短信模块(¥100):支持短信登录、目前支持阿里云云通信短信服务、可查看出错信息
  • 微信模块(¥150):支持公众号订阅登录、生成二维码、自动适配平台、打通用户标识
  • 代理模块(非卖): 高级用户专属、需注册并购买作者平台账号使用权方可使用

代理登录

代理模块为之前的“内置登录”,独立为高级专用功能,以后的新版发布默认不会包含该模块。
针对备案或翻墙或企业资格等无法使用平台登录的用户,可提供体验和专属套餐的购买使用。
建议可搭配注册模块支持设置邮箱激活或修改密码方可登录等方式来另行管理绑定的用户。

  1. 微信开放号及公众号(微信模块所带):¥200/年/每个
  2. 国内外主流社交平台(基础版所带平台):¥100/年/每个
  3. 国内外冷门社交平台(更多平台模块所带):¥50/年/每个

升级步骤

  1. 任何版本升级时先备份插件目录、禁用插件、再删除插件目录
  2. 再将新版上传/解压到原位置、启用插件、插件配置会自动继承

常见问题

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

这是一个网页插件。如果在手机设备用普通浏览器中浏览,并无法调用移动端应用(如微信客户端)。

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

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

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

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

3、在那里获取 App IDAPP Key/Secret

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

4、支持多站点吗?

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

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

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

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

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

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

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

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

8、为什么用户注册时有些卡顿

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

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

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

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

更新日志

= 5.0.3 =
* 修正:微信公众号登录的显示问题

= 5.0.2 =
* 微信登录在不同平台默认显示
* 增强头像函数的兼容性
* 增加隐藏登录工具条的选项

= 5.0.1 =
* 修复绑定无效并直接跳回首页的BUG

= 5.0 =
* 新增:代码发布遵循 MIT 许可协议
* 优化:代码模块化基础代码不做限制

= 4.3 =
* 新增:同步到微博支持古藤堡编辑器
* 新增:支持调试微信服务器保存出错
* 新增:支持屏蔽无法正常加载的头像
* 修正:激活邮箱登陆模式下提示错误
* 修正:链接字段无效可导致无法保存
* 修正:微信分享弹出框页面样式兼容

项目地址

插件下载:最新测试版(github.com)wordpress.org | open-social.5.0.3

——打个小赏 感谢支持——

1 自动识别支付宝/微信/QQ支付

WP Open Social》有 860 条评论

  1. Henry Situ

    你好,facebook上的 Valid OAuth Redirect URIs 要怎么样填呢?

  2. U·SIR

    wordpress5.7只要启用这个插件就报这个错误。还会导致后台卡。
    session_start()函数调用生成了一个PHP会话。该会话干扰了REST API及环回请求。在做出任何HTTP请求前,该会话必须由session_write_close()函数关闭。

  3. l***5

    百度出现这样的场景:
    哎呀!

    LOGIN:

    baidu
    s:13:”invalid_grant”;
    MSG :

    invalid code , expired or revoked
    RETURN:

    array(2) {
    [“error”]=>
    string(13) “invalid_grant”
    [“error_description”]=>
    string(33) “invalid code , expired or revoked”
    }
    微软:
    LOGIN:

    live
    s:14:”invalid_client”;
    MSG :

    The provided value for the ‘client_secret’ parameter is not valid.
    RETURN:

    array(3) {
    [“error”]=>
    string(14) “invalid_client”
    [“error_description”]=>
    string(66) “The provided value for the ‘client_secret’ parameter is not valid.”
    [“correlation_id”]=>
    string(36) “69f37806-a4e6-492e-a334-b00a1fbdbcd2”
    }

  4. kaia

    支持阿里云的国际/港澳台消息服务吗?

  5. 玩魔方

    用微博帐号登录出错了!
    对第三方应用进行授权时出现错误,请您联系第三方应用的开发者: 昆明大观网或者稍后再试。
    错误码:21322
    重定向地址不匹

    1. 马科斯的Cafe

      我也是折腾了两天,搜索了百度n个链接,发现在微博开放平台的应用信息栏里,在高级信息里,除了必须填写open social的回调页地址,你还得绑定安全域名。我是刚刚搞定!

  6. 无所谓

    大神~~发现一个BUG,希望下个版本可以修复一下。
    bug场景:微信扫码登录(新用户注册)
    错误提示:这个账号可能包含了一些不兼容的字符。
    bug原因:微信昵称中含有表情字符(颜文字)

    临时解决办法:
    主题functions.php中,添加下面的代码:
    add_filter( ‘pre_user_display_name’, function($display_name) {
    preg_match_all(‘/[\x{4e00}-\x{9fff}\d\w\s[:punct:]]+/u’, $display_name, $result);
    return join(”,$result[0]);
    }, 10, 1 );

    add_filter( ‘pre_user_nickname’, function($nickname) {
    preg_match_all(‘/[\x{4e00}-\x{9fff}\d\w\s[:punct:]]+/u’, $nickname, $result);
    return join(”,$result[0]);
    }, 10, 1 );

  7. 考***T

    你好,请问贵站第三方登录后,跳转绑定邮箱是如何实现的?

  8. 闲潭梦花

    qq登录回调地址填的是 网址/index.php,但调用qq登录时显示
    redirect uri is illegal(100010)
    通知: QQ互联加强网站应用回调地址校验
    请问qq登录回调地址应该填什么?

    1. 闲潭梦花

      打扰了,已解决。在常规-高级-自定义各登录账号的回调地址中调出设置界面,设置登录账号模块设置回调地址为 网址/index.php

  9. 福兮

    您好!下面是一段主题的代码,如果开启了wordpress-social-login 社交登录插件,会显示登录这个插件的登录按钮。
    我在想是不是可以将代码中的wsl_load_plugin_textdomain换成咱们这个插件的代码应该也可以识别出来,我测试换成open_social_login_html,登录按钮确实出现了,但是下面会出现一段错误代码。
    请问应该添加什么代码来识别开启了wp-open-social插件。

    // If WordPress Social Login is enabled
    if ( function_exists( ‘wsl_load_plugin_textdomain’ ) ) { ?>

    <?php
    }

  10. 0无语-_-~

    link大佬,我想问一下,我用了这个WP Open Social插件,接入QQ的登录,appid跟appkey都设置好了,默认回调直接填的wodpress站点的index.php,QQ上的回调参数也是这个,但是现在问题就是登录后是正常跳转回来了,但是只是第一步,只是获取到了QQ那里提供过来的Authorization Code,wordpress站点还是显示未登录状态,是我哪里操作不对么?还是说我必须得专门去再去写一些脚本去处理这个之后的一系列东西?

  11. 梁 顺奕

    你好,为何我的microsoft登录后直接跳转到首页,并不会出现“绑定已有账户”或“创建新账户”的页面?请问这个问题我应该从哪个方面着手解决?谢谢

    1. Link

      绑定选项是付费模块。

  12. U·SIR

    测试了好久,发现后台可以绑定QQ成功。登录绑定QQ的时候却不成功。是哪有问题吗?

    1. U·SIR

      不好意思打扰了。。。我域名改成了WWW的。。抱歉。 解决了。

  13. 下岗女工黄某宰

    太感谢了这个插件正是我现在需要用的东西!不过分享到推特分享不了,我发了个pull request应该能修复这个问题
    另外我的theme是自己写的,想问一下怎样可以把分享板块挪到想要的地方(比如我想让它右对齐不是左对齐)
    还有就是看楼上评论,貌似之前有豆瓣?现在好像没有了?

    谢谢!

    1. Link

      黄小姐姐666666(freelance?)~~request merged。

      组件有三个调用方式(后台有显示):widget、short_code、php。你想要的效果用css控制即可(.os-share-box)。

      是的,免费版只提供了最最通用的几个第三方,豆瓣应该在“ 冷门平台”模块中。你也可以自己添加一下链接,图标文件已包含的。

    2. 下岗女工黄某宰

      好的好的,太感谢啦(并不是freelance,最近刚好在换工作,签了合同还没入职)

    3. Link

      嗯嗯好的,take care~~~

  14. kevin

    最近插件登录页能进,登陆成功后就会出现下面的错误,不知道是怎么回事
    哎呀!
    URL: https://api.weibo.com/oauth2/access_ token
    HOST: http://xiaojun.space
    cURL error 56: Received HTTP code 403 from proxy after CONNECT

    1. Link

      这个不是成功。是失败。你网站开了代理什么的吧。检查下。插件使用的是公共接口 wp_remote_request。

  15. 派大星

    再反馈一个问题,插件开启以后,wordpress自带的站点健康里会提示两条critical issue,只要禁用此插件,报错就消失了,请问这个有关系吗,是不是可以不用理它(wordpress版本5.4):

    2 critical issue
    REST API遇到了错误
    REST API是WordPress及其他应用与服务器通信的一种途径。一个例子是区块编辑器页面,它依赖REST来显示及保存您的页面和文章。
    REST API请求因遇到了错误而失败。
    错误:cURL error 28: Operation timed out after 10000 milliseconds with 0 bytes received(http_request_failed)
    您的站点不能完成环回请求
    环回请求被用来运行计划事件,也被内建的主题及插件编辑器使用来确保代码稳定性。
    到您站点的环回请求失败,这意味着依赖此种请求的功能将不能正常工作。
    错误:cURL error 28: Operation timed out after 10001 milliseconds with 0 bytes received(http_request_failed)

    1. Link

      我遇到过,但不好重现。应该是跟 cookie 和 session 啥的有些关系,我没定位到关联所在,问题不大可以忽略。

    2. U·SIR

      session_start()开启没有关闭。在数据调用结束的地方用session_write_close();主动关闭就行。

    1. Link

      支持。非主流平台模块。

  16. 派大星

    精美好用的插件!反馈一个问题,安装插件以后,默认的login登录界面会只显示一个短代码页面,没有登陆框。我去后台更新了一下固定链接格式,才正常显示。不知道是不是这个问题。

    1. Link

      我没遇到过这种情况;你是自定义了登录页面吧?

    1. Link

      用户表 wp_users,和用户资料表 wp_usermeta。