鱼哥,这个自定义字段没派上用场,是不是代码写错了!

- 8年前

还是因为昨天的那个原因,我想看看怎样改变链接中的openid,结果发现这么个问题:weixin-robot-hook.php 636行左右
// 通过自定义字段设置改变图文的链接
// 给用户添加 query_id 或者 openid,用于访问页面时,获取当前用户
add_filter('weixin_url','weixin_robot_url_add_query_id', 99);
function weixin_robot_url_add_query_id($url){
if($weixin_url = get_post_meta(get_the_ID(), 'weixin_url', true)){
$url = $weixin_url;
}

global $wechatObj;

if(isset($wechatObj)){
$weixin_openid = $wechatObj->get_fromUsername();

if($use_openid = get_post_meta(get_the_ID(), 'use_openid', true)){
return add_query_arg('weixin_openid', $weixin_openid, $url);
}else{
$query_id = weixin_robot_get_user_query_id($weixin_openid);

$query_key = weixin_robot_get_user_query_key();

return add_query_arg($query_key, $query_id, $url);
}
}else{
return $url;
}
}

中的这句(use_openid存在与return没关联啊!)
if($use_openid = get_post_meta(get_the_ID(), 'use_openid', true)){
return add_query_arg('weixin_openid', $weixin_openid, $url);

是不是应该是(仅仅用来改变一个名称吗?)
return add_query_arg($use_openid, $weixin_openid, $url);

还是(不过这样好像就没什么用了,难道用来手动指定一个openid?):
return add_query_arg('weixin_openid', $use_openid, $url);

谢谢!

2条回复

Denis | 邓鸿华
Denis | 邓鸿华 - 8年前

use_openid 是指给 url 加 weixin_openid query string 而不是 query_id 的query string

- 8年前

呃,没明白,还是不明白赋值给$use_openid的用义何在,因为后面都没有用到$use_openid

我要回复

暂时不支持网页回复,请安装