Предполагая, что $ по умолчанию представляет собой набор изображений аватар по умолчанию (0 мужских и 1 женскими), вы хотите что-то вроде этого:
$tag = '';
$key = $gender=='man' ? 0 : 1;
if (isset($default[$key])) {
$image = themex_resize($default[$key], $size, $size, true, true);
$tag = '<img src="'.$image.'" class="avatar" width="'.$size.'" alt="'.$alt.'" />';
}
return $tag;
Конечно , если есть больше вариантов выбора для пола, или если есть резерв по умолчанию, это может быть улучшено дальше.
EDIT
По вашей ссылке в комментариях ниже, полная функция выглядит следующим образом:
public static function getAvatar($avatar, $user, $size, $default, $alt) {
if(isset($user->user_id)) {
$user=$user->user_id;
}
$gender=ThemexCore::getUserMeta($user, 'gender');
$avatar_id=ThemexCore::getUserMeta($user, 'avatar');
$default=wp_get_attachment_image_src($avatar_id, 'preview');
$imagemale=THEME_URI.'images/default-male.jpg';
$imagefemale=THEME_URI.'images/default-female.jpg';
if(isset($default[0]) && $gender == 'man') {
$imagemale=themex_resize($default[0], $size, $size, true, true);
$result='<img src="'.$imagemale.'" class="avatar" width="'.$size.'" alt="'.$alt.'" />';
}else if(isset($default[0]) && $gender == 'woman') {
$imagefemale=themex_resize($default[0], $size, $size, true, true);
$result='<img src="'.$imagefemale.'" class="avatar" width="'.$size.'" alt="'.$alt.'" />';
}
return $result;
}
Это гораздо сложнее, чем просто добавление в операторе еще. Попробуйте следующее:
public static function getAvatar($avatar, $user, $size, $default, $alt) {
if(isset($user->user_id)) {
$user=$user->user_id;
}
$avatar_id=ThemexCore::getUserMeta($user, 'avatar');
$unique=wp_get_attachment_image_src($avatar_id, 'preview');
if(isset($unique[0])) {
$url = $unique[0];
} else {
$gender=ThemexCore::getUserMeta($user, 'gender');
if($gender == 'man') {
$url = THEME_URI.'images/default-male.jpg';
} elseif($gender == 'woman') {
$url = THEME_URI.'images/default-female.jpg';
}
}
$image=themex_resize($url, $size, $size, true, true);
return '<img src="'.$image.'" class="avatar" width="'.$size.'" alt="'.$alt.'" />';
}
Примечание; Если у пользователя уже есть аватар, функция вернет его (если у женщины-пользователя есть аватар для мужчин, вы увидите мужской аватар), если для пользователя нет существующего аватара, функция теперь будет по умолчанию использовать гендерную один, как указано вами. Также обратите внимание, что значения по умолчанию теперь жестко закодированы в вашей функции, поэтому параметр $default
больше не используется.
Как вы можете получить ссылку на изображение? он находится в $ default [0]? – olibiaz
Что вы хотите проверить, является ли пол мужчиной или женщиной? Вы должны отформатировать свой код при публикации, это трудно прочитать, как есть. – chris85
Итак, что вы пробовали? Структуры управления принципиально просты, но без вашей попытки мы не можем помочь вам исправить ваш код! –