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

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

作者: 喷射的熔浆 | 来源:发表于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