我正在尝试保存用户元数据中的一小部分ID,但由于某种原因,我只能保存最近的访问。我的方法有明显的错误吗?
function check_visit() {
$user = get_current_user_id();
$post_visits = get_user_meta($user, 'post_visits', true);
$visited = explode(",",$post_visits);
$id = (string)the_ID();
if($id && !in_array($id, $visited)) {
$visited[] = $id;
update_user_meta($user, 'post_visits', implode(",", $visited));
}
print_r(implode(",",$visited));
}
答案 0 :(得分:1)
实际上
$visited[] = $id
是对的!
问题是你正在使用the_ID()
函数,这个函数打印ID,不返回任何值。
正确的功能应该是get_the_ID()
您的代码应如下所示:
function aw_check_visit(){
$user = get_current_user_id();
$post_visits = get_user_meta($user, 'post_visits', true);
$visited = explode(",",$post_visits);
$id = (string)get_the_ID();
if($id && !in_array($id, $visited)) {
$visited[] = $id;
update_user_meta($user, 'post_visits', implode(",", $visited));
}
}
答案 1 :(得分:-1)