$value2) { $value = extract_if_array_size_one_CIPF($value2); // if key was not in first array, add the new element to it if (!isset($new_array[$key2])) { $new_array[$key2] = $value2; continue; } // if key was in first array, add both in an array $value1 = extract_if_array_size_one_CIPF($new_array[$key2]); if (empty($value1)) $new_array[$key2] = $value2; else if (empty($value2)) $new_array[$key2] = $value1; else { $new_value = array($value1, $value2); $new_array[$key] = $new_value; } } return $new_array; } function output_list_front_CIPF($array) { $output = ''; return $output; } /* * shortcode to write user info of the logged in user * 0 or 1 argument, usage : * - [cipf_user_info] -> list of all availables infos * - [cipf_user_info user_email] -> display the email * - [cipf_user_info user_email user_login] -> display the email */ function current_user_infos_CIPF($atts) { if (!is_user_logged_in()) return ; error_log("----"); $current_user = wp_get_current_user(); $current_user_infos = $current_user->data; if (empty($atts)) { $user_properties = (array) get_userdata($current_user->ID)->data; $user_metas = get_user_meta($current_user->ID); $user_infos = merge_two_arrays_CIPF($user_metas, $user_properties); return output_list_front_CIPF($user_infos); } $query = $atts[0]; $output = $current_user->$query; if (is_string($output)) return $output; else return json_encode($output); } add_shortcode('cipf_user_info', 'current_user_infos_CIPF'); ?>