[wp-hackers] array_push on update_user_meta

Gregory Lancaster greglancaster71 at gmail.com
Thu Oct 31 19:30:14 UTC 2013


What would be the benefit of storing the friends in separate rows? I did
not know that was an option, but don't see any clear advantages either.
 Also, I did just search the codex but dont see anything about unique rows.
 (I checked get_user_meta, delete_user_meta, update_user_meta. )


On Thu, Oct 31, 2013 at 12:24 PM, J.D. Grimes <jdg at codesymphony.co> wrote:

> Yes, when you call get_user_meta() you need to set the third parameter
> ($single) to true:
>
> $active_user_friends = get_user_meta( $active_user, ‘friends’, true );
>
> Otherwise it will return a nested array. Also, just FYI, alternatively you
> could leave the get_user_meta() call the way it is, and change it so that
> each friend is stored in a separate meta row (but with the same meta key -
> have a look at the *_user_meta functions on the codex).
>
> -J.D.
>
> On Oct 31, 2013, at 3:14 PM, Gregory Lancaster <greglancaster71 at gmail.com>
> wrote:
>
> > I thought so.  One more question if you dont mind helping;
> >
> > This is the function I wrote to determine what button to show on page
> load.
> > But regardless if someone has been friended or not, it shows the add
> > friend option.  Is something wrong with this?
> >
> >
> > function friend_status($author_id) {
> > global $wpdb, $current_user;
> >      get_currentuserinfo();
> >
> >  //authorID is the userID of the profile owner
> >
> >  $active_user = $current_user->ID;
> >  $active_user_friends = get_user_meta($active_user, 'friends');
> >
> >  if (in_array($author_id, $active_user_friends)) {
> >  $friend_status = "<button id='remove_friend'>Remove Friend</button>";
> >  } else {
> >  $friend_status = "<button id='add_friend'>Add Friend</button>";
> >  }
> >
> > return $friend_status;
> > }
> >
> > Then on page:  echo $friend_status;
> >
> >
> > On Thu, Oct 31, 2013 at 11:53 AM, J.D. Grimes <jdg at codesymphony.co>
> wrote:
> >
> >> Yes, I would write a separate function for removal, and hook it to a
> >> different AJAX action for removal.
> >>
> >> On Oct 31, 2013, at 2:48 PM, Gregory Lancaster <
> greglancaster71 at gmail.com>
> >> wrote:
> >>
> >>> That works easier :)  Once someone is friended I have it set so an
> >> unfriend
> >>> button replaces the add friend button via ajax.  Is it necessary to
> write
> >>> another function for deleting a person?  Not sure exactly how to make
> the
> >>> new button function since the data being sent is not attached to the
> >> button
> >>> in any way.  maybe I could add a value to the button that says remove
> or
> >>> add, which would be passed to the function and determine what action to
> >>> take?
> >>>
> >>>
> >>> On Thu, Oct 31, 2013 at 11:32 AM, J.D. Grimes <jdg at codesymphony.co>
> >> wrote:
> >>>
> >>>> I would do this:
> >>>>
> >>>> $profileID = $_POST['profileID'];
> >>>>
> >>>> $chkMetaValue = get_user_meta($userID,"friends");
> >>>>
> >>>> if ( ! is_array($chkMetaValue) )
> >>>>       $chkMetaValue = array();
> >>>>
> >>>> $chkMetaValue[] = $profileID; // or use array_push()
> >>>>
> >>>> update_user_meta( $userID, 'friends', $chkMetaValue );
> >>>>
> >>>> -J.D.
> >>>>
> >>>> On Oct 31, 2013, at 1:32 PM, BenderisGreat <greglancaster71 at gmail.com
> >
> >>>> wrote:
> >>>>
> >>>>> I am not sure exactly how this would work because I start with an
> empty
> >>>>> meta_value field.  I dont think I can use array_push if there is not
> at
> >>>>> least one value in the field, correct?
> >>>>>
> >>>>> So maybe something like this:
> >>>>>
> >>>>> $profileID = $_POST['profileID'];
> >>>>>
> >>>>> $chkMetaValue = get_user_meta($userID,"friends");
> >>>>>     if (!empty($chkMetaValue))
> >>>>>             {
> >>>>>             array_push($profileID);
> >>>>>             } else {
> >>>>>             $profileID;
> >>>>>             }
> >>>>>
> >>>>> update_user_meta( $userID, 'friends', $chkMetaValue );
> >>>>>
> >>>>> Is that right?
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> View this message in context:
> >>>>
> >>
> http://wordpress-hackers.1065353.n5.nabble.com/array-push-on-update-user-meta-tp42688.html
> >>>>> Sent from the Wordpress Hackers mailing list archive at Nabble.com.
> >>>>> _______________________________________________
> >>>>> wp-hackers mailing list
> >>>>> wp-hackers at lists.automattic.com
> >>>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
> >>>>
> >>>> _______________________________________________
> >>>> wp-hackers mailing list
> >>>> wp-hackers at lists.automattic.com
> >>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
> >>>>
> >>> _______________________________________________
> >>> wp-hackers mailing list
> >>> wp-hackers at lists.automattic.com
> >>> http://lists.automattic.com/mailman/listinfo/wp-hackers
> >>
> >> _______________________________________________
> >> wp-hackers mailing list
> >> wp-hackers at lists.automattic.com
> >> http://lists.automattic.com/mailman/listinfo/wp-hackers
> >>
> > _______________________________________________
> > wp-hackers mailing list
> > wp-hackers at lists.automattic.com
> > http://lists.automattic.com/mailman/listinfo/wp-hackers
>
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>


More information about the wp-hackers mailing list