WordPress 微信公众号授权登录

WordPress 微信公众号授权登录

微信比较奇葩,公众号和公众平台是分开做的,这样就可以收双份的钱了。

本功能必须在微信客户端中使用。

Github地址

下载并编辑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');

其他方式的社会化授权登录可以查看本专题下的其他文章。

微信主题

我之前专门为微信写了一个主题

Bigfa

computer loser

Countine Reading

Comments : 37

  1. 存在的头像

    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

    :o

    1. bigfa的头像

      @存在

      那行出问题了不是写的很清楚了么……

    2. groupwide的头像

      @bigfa 和 存在 遇到了一样的问题,也是22行,不能使用数组?
      php文件按照您的文章,除了APPID和APPSECRET都没动过,该怎么解决呢?

    3. bigfa的头像

      @groupwide

      修复了下,没测试,感觉应该可以了。

    4. groupwide的头像

      @bigfa 确实可以了,感谢修复。

      另外顺便说一下 wechat.php 的第18行有语法错误,可能是因为 return 后面有个半角等号。

    5. bigfa的头像

      @groupwide

      嗯,是的,后来我又重构了下代码,但都没测试,已经修复了。

    6. groupwide的头像

      @bigfa 我刚刚发现,同一个游客的微信号,分别通过wechat.php和wechat-inner.php授权后,会各建立一个账户。
      应该是因为两种授权方式获取到的openid不同导致的。
      这个问题有解吗?

    7. bigfa的头像

      @groupwide

      有的,我之前帮人解决过,付费滴。 :oops:

    8. Edi的头像

      @bigfa 发哥,能帮我也解决下这个问题吗?付费滴 :smile:

    9. bigfa的头像

      @Edi

      200,需要的话加我QQ 4398929

  2. 热戴网的头像

    “授权失败,请尝试重新授权” 一般是什么问题,按照教程来操作 提示这个错误 :|

    1. bigfa的头像

      @热戴网

      获取token失败

  3. 米克的头像

    大大,我看更新版本后,加入了define(‘WX_KEY’,’weixin_uid’);和一些代码,可就是会提示
    “授权失败,请尝试重新授权”。之前没有更新版本的,反而可以使用呢,请问WX_KEY后面要修改吗,还是我那里操作没有正确,我只修改了WX_APPID和WX_APPSECRET
    :cry: :cry:

  4. 萨龙龙的头像

    大发兄,确实厉害,程序上总能开发出好的功能,设计上都是简洁大方,赞!

  5. DukeAnn的头像

    这个登录可以跟原来注册的会员账号绑定吗? :|

  6. DukeAnn的头像

    这个get_mp_access_token()函数没有传$code,导致请求没有code变量,应该在调用时加个参数$code :smile:

    1. bigfa的头像

      @DukeAnn

      恩,已经修改了。 :mrgreen:

  7. raisinli的头像

    我想付费来解决这个问题,不过新版本里好像少了 Token的填写还是这个不用填写的。 :oops:

  8. 洋洋的头像

    那个,/wechat.php 应该写 %2Fwechat.php 链接哪里 :!:

发表留言

人生在世,错别字在所难免,无需纠正。

:mrgreen::neutral::twisted::arrow::shock::smile::???::cool::evil::grin::idea::oops::razz::roll::wink::cry::eek::lol::mad::sad::!::?: Smilies powered by wp-alu

Post Comment