如果我想在两个函数中使用变量$post->user_id
,它就不起作用。为什么?
foreach ($usermeta as $post) {
echo $post->user_id;
echo $post->name;
echo $post->team;
}
function nicoupdate($post->user_id) {
update_usermeta( $post->user_id , 'ptotali', $_POST['ptolti'] );
}
我不明白。
仍然无效:
$sql="SELECT `user_id`,
max(case when `meta_key` = 'name' then `meta_value` end) as name ,
max(case when `meta_key` = 'team' then `meta_value` end) as team ,
max(case when `meta_key` = 'ptotali' then `meta_value` end) as points ,
FROM wp_usermeta
GROUP BY `user_id`
ORDER BY points DESC";
global $wpdb;
$usermeta = $wpdb->get_results($sql) or die(mysql_error());
foreach ($usermeta as $post) {
echo $post->user_id;
echo $post->name;
echo $post->team;
}
function nicoupdate($user_id) {
update_usermeta( $user_id , 'ptotali', $_POST['ptolti'] );
}
怎么了?如果我手动输入user_id,例如3就可以了。
答案 0 :(得分:1)
嗯 - 我以前从未见过那种符号。 $usermeta as $post
通常仅用于foreach语句。所以首先你需要删除$ usermeta作为函数定义的一部分。
function nico($post)
....
其次,您使用变量声明另一个函数,而不是使用名称。试试这个
function nicoupdate($user_id)
....
然后用:
调用它noicoupdate($post->user_id);