微信比较奇葩,公众号和公众平台是分开做的,这样就可以收双份的钱了。
本功能必须在微信客户端中使用。
下载并编辑wechat-inner.php
,填写你的APPID和APPSECRET,然后上传到你的主题文件夹下即可。
访问你wechat-inner.php
,即可获得授权地址。
未登录强制跳转
可以设置成如果未登录就自动跳转到授权页面,下面的代码加入到functions.php
中
function fa_is_weixin(){ if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) { return true; } return false; } function fa_redirect_weixin_login(){ $url = '';//你的跳转链接 if( fa_is_weixin() && !is_user_logged_in() && !$_GET['code']){ wp_redirect($url); exit; } } add_action('init','fa_redirect_weixin_login');
其他方式的社会化授权登录可以查看本专题下的其他文章。
微信主题
我之前专门为微信写了一个主题
PHP Fatal error: Cannot use object of type stdClass as array in C:\www\qu\wp-content\themes\Git-master\wechat-inner.php on line 22
@存在
那行出问题了不是写的很清楚了么……
@bigfa 和 存在 遇到了一样的问题,也是22行,不能使用数组?
php文件按照您的文章,除了APPID和APPSECRET都没动过,该怎么解决呢?
@groupwide
修复了下,没测试,感觉应该可以了。
@bigfa 确实可以了,感谢修复。
另外顺便说一下 wechat.php 的第18行有语法错误,可能是因为 return 后面有个半角等号。
@groupwide
嗯,是的,后来我又重构了下代码,但都没测试,已经修复了。
@bigfa 我刚刚发现,同一个游客的微信号,分别通过wechat.php和wechat-inner.php授权后,会各建立一个账户。
应该是因为两种授权方式获取到的openid不同导致的。
这个问题有解吗?
@groupwide
有的,我之前帮人解决过,付费滴。
@bigfa 发哥,能帮我也解决下这个问题吗?付费滴
@Edi
200,需要的话加我QQ 4398929
“授权失败,请尝试重新授权” 一般是什么问题,按照教程来操作 提示这个错误
@热戴网
获取token失败
大大,我看更新版本后,加入了define(‘WX_KEY’,’weixin_uid’);和一些代码,可就是会提示

“授权失败,请尝试重新授权”。之前没有更新版本的,反而可以使用呢,请问WX_KEY后面要修改吗,还是我那里操作没有正确,我只修改了WX_APPID和WX_APPSECRET
大发兄,确实厉害,程序上总能开发出好的功能,设计上都是简洁大方,赞!
这个登录可以跟原来注册的会员账号绑定吗?
这个get_mp_access_token()函数没有传$code,导致请求没有code变量,应该在调用时加个参数$code
@DukeAnn
恩,已经修改了。
我想付费来解决这个问题,不过新版本里好像少了 Token的填写还是这个不用填写的。
那个,/wechat.php 应该写 %2Fwechat.php 链接哪里
Token是什么?
@。 建议先学习学习再折腾