if you want to use multiple users, if you will add usernames comma separated in custom field. try below code.
function user_avatar() {
$user = "";
$names = get_post_meta( get_the_ID(), 'user_name', true );
$user_names = array_map('trim', explode(',', $names));
if(!empty($user_names))
{
foreach ($user_names as $key => $user_name)
{
$user = get_user_by( 'login', $user_name );
if($user)
{
$gravatar = get_avatar( $user->user_email , 32 );
echo $gravatar;
}
}
}
}
Edit : I also tried –
$names = get_post_custom_values( 'user_name' );
I tested this when using the same custom field key user_name with different login usernames for each user.
if you want to use get_post_custom_value(); try below
function user_avatar() {
$user = "";
$names = get_post_custom_values( 'user_name', get_the_ID() );
if(!empty($names))
{
foreach ($names as $key => $user_name)
{
$user = get_user_by( 'login', $user_name );
if($user)
{
$gravatar = get_avatar( $user->user_email , 32 );
echo $gravatar;
}
}
}
}