Playing around on local server, working on new user meta functions. This one is an ip history array, idea is something like xenforo uses to show a list of all ip’s of any user. I am using the built in WP user_meta functions and storing in user meta, something I typically never use. With this function you can show the admin or user the list, use for admin only functions, set a limit on ips stored and it removes the oldest entry aka array_shift(). For my test code it’s using raw ip’s that are not anonymized but production would be.
Nothing super complicated but I am new with using update and get user_meta, in vanilla PHP so use to writing my own CRUD functions. Some small things made a big difference. I like the easy peasy stuff.
/*
Setting the last parameter to true makes WP store
your array as single array for your use in database for my_meta_name
a:2:{i:0;s:5:"DATA1";i:1;s:5:"DATA2";} otherwise it will create arrays
inside arrays which could be useful for other functions.
For my function it only stores an ip string so a single array is ok,
but later I may change it to do ip => date etc.
*/
/*
a:2 array items
i:0 index of item
s:5 size of item, 5 bytes or characters in this case
:"data"
*/
$data = get_user_meta(get_current_user_id(), 'my_meta_name', true);
// For adding data update_user_meta()
update_user_meta(get_current_user_id(), 'my_meta_name', $mydata);
/* $mydata is a newly modified array that has been compared, edited, counted, then finally used as new value to be updated.
There is another function add_user_meta(), but update creates the entry if it does not exists annnnnd just updates if it does,
so I did not need the add.
*/