我想在WordPress usermeta
上创建array()
上具有用户喜欢的帖子的数据,他可以将其添加到此元favorite
中。
如果我在array_push()
上使用get_user_meta()
,则该数组嵌套在后续数组中。
my_operation(){
$meta_user_favorite = get_user_meta($user_id,"favorite");
array_push($meta_user_favorite, $post_id);
update_user_meta( $user_id, "favorite", $meta_user_favorite);
}
经过几次这样的操作,这是我在var_dump($meta_user_favorite);
中得到的结果
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
array(1) {
[0]=>
int(726)
}
[1]=>
int(713)
}
[1]=>
int(710)
}
[1]=>
int(688)
}
}
应该在一个数组中,我在做什么错了?
array(1) {
[0]=>int(726)
[0]=>int(713)
[0]=>int(710)
[0]=>int(688)
}
答案 0 :(得分:1)
看看get_user_meta()
的文档。您要省略的第三个参数是$single
,默认为false
,它确定是返回数组还是返回值。如果您将true
传递给它(说实话,在处理用户和后置meta时,我用了95%的用例),它应该可以工作。
my_operation(){
$meta_user_favorite = get_user_meta( $user_id, 'favorite', true );
array_push( $meta_user_favorite, $post_id );
update_user_meta( $user_id, 'favorite', $meta_user_favorite );
}