更新用户元重复条目

时间:2013-04-01 作者:CBeTJlu4ok

我的主题页脚中有一个非常简单的代码

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”

每次执行时,它都会插入两个值

1 个回复
最合适的回答,由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);
}

结束

相关推荐

Add formatting to Array

这将按作者最新帖子的日期显示作者。我想:add formatting around each authorlist additional properties (头像、最新帖子标题和摘录)<;--我有这方面的资料,但不确定要把它们放在哪里。<ul> <?php //List of users sorted descending by date of latest post written by user $uc=array(); $blogusers