我的主题页脚中有一个非常简单的代码
if (is_user_logged_in()) {
$user = wp_get_current_user();
$aka2 = get_user_meta($user->ID, \'last_visited_blogs\', true);
$aka2[] = \'blog4\';
update_user_meta($user->ID, \'last_visited_blogs\', $aka2);
} ?>
它所做的是,获取元值,插入新条目,并使用新数组更新元。
就像它包含了什么:
[0]=>“博客1”,[1]=>“博客2”,[2]=>“博客3”
功能完成后
[0]=>“博客1”,[1]=>“博客2”,[2]=>“博客3”,[3]=>“博客4”
但是,它所做的是,它在执行时插入两个值,即使它是空的
[0]=>“博客4”,[1]=>“博客4”
每次执行时,它都会插入两个值
最合适的回答,由SO网友:Vinod Dalvi 整理而成
您正在覆盖现有值,而应该检查现有值是否存在,并将新值连接到现有值(如果存在),如下所示
if (is_user_logged_in()) {
$user = wp_get_current_user();
$aka2 = get_user_meta($user->ID, \'last_visited_blogs\',true);
if($aka2)
array_push ($aka2, \'blog4\');
else
$aka2 = array(\'blog4\');
update_user_meta($user->ID, \'last_visited_blogs\', $aka2);
}