美文网首页
微信公众号/服务号 个性化菜单不显示/标签打不上

微信公众号/服务号 个性化菜单不显示/标签打不上

作者: 喷射的熔浆 | 来源:发表于2017-08-30 04:12 被阅读0次

    啊啊啊,啊啊啊,......,你能听出来是哪首歌?buuuuu,个性化菜单之歌。我们的认知范围内,标签这个东西是没有顺序的,比如,说你“胖”,“丑”,“没钱”,你能排出个顺序来么?你丑的比胖的厉害,你没钱的比丑的轻。好像没什么道理。

    但微信用户标签是有顺序的,尤其是针对“个性化菜单”的时候,只有用户最后打上的那个标签才是有效的标签,才会显示对应的菜单,害我苦死几日。可以看出,“没钱”才是你真正的标签。

    突然觉得也道理的,毕竟越晚打上的标签,越是看透了你之后打上的,才是你的本质所在。

    use app\common\UserTag;
    ...
    # 115,116,117是对应三种不同的个性和菜单,不重合,必须最后加上
    foreach([115,116,114] as $last){
        if(in_array($last, $tagid_list)){
            if(count($tagid_list) > 1){
                $remain = array_diff($tagid_list,[$last]);
                array_push($remain, $last);
                $tagid_list = $remain;
             }
        }
    }
    $ut = new UserTag($access_token);
    foreach($tagid_list as $tagid){
        $ut->id($tagid)->tagUser($this->toUser);
    }
    ...
    

    标签打不上

    微信只提供了,一个标签,多个用户的这种打标签的方式,这里的“多个”是有条件的

    • 至少两个openid
    • 必须至少是两个不同的openid
    • 两个openid可以是已经打过的
    public
      function tagUser(string $openid){
        $openid_list = [$openid, 'xXxXXxXXxxxXXxXxx0xXX7xxXXXx']; //小号
        // 这里必须{1}至少两个{2}有效的{3}可重复性的{4}openid
        // 所以凑一对儿
        # 刷新用户 tagid_list
        // $user = new Follower($openid);
       // $user->freshTagList(); # 2017-06-28
        return $this->_batchTagUsers($openid_list);
    
      }
    

    所以, 当你需要给一个备用的微信号关注这个公众号,每次都把这个备用账户的openid需要打标签的openid 凑一对儿才可以

    标签打不上2

    我只前想过可以捏造一个openid呀,就是和真的openid很像的那种,but不行,放弃也是需要骂娘的。

    Reference

    1. self:微信公众号/服务号 标签管理
    2. 用户标签管理 - 微信公众平台

    相关文章

      网友评论

          本文标题:微信公众号/服务号 个性化菜单不显示/标签打不上

          本文链接:https://www.haomeiwen.com/subject/yhkzdxtx.html