Я нашел отличный учебник для создания собственного аватара (https://www.billerickson.net/wordpress-custom-avatar/). В основном это проверяет:
1) Если есть собственный аватар, используйте его.
2) Если пользовательского аватара нет, проверьте, есть ли граватар. Если есть граватар, используйте это.
3) Если нет ни одного, отобразите значение по умолчанию.
Проблема в том, что я зарегистрировал пользователей на моем WordPress, поэтому всякий раз, когда они комментируют, он использует пользовательский аватар, который я установил для автора, для всех комментаторов, у которых зарегистрировано электронное письмо.
Это часть кода, с которой я борюсь:
// If provided an email and it doesn't exist as WP user, return avatar since there can't be a custom avatar
$email = is_object( $id_or_email ) ? $id_or_email->comment_author_email : $id_or_email;
if( is_email( $email ) && ! email_exists( $email ) )
return $avatar;
$custom_avatar = get_the_author_meta('be_custom_avatar');
if ($custom_avatar)
$return = '<img src="'.$custom_avatar.'" width="'.$size.'" height="'.$size.'" alt="'.$alt.'" />';
elseif ($avatar)
$return = $avatar;
else
$return = '<img src="'.$default.'" width="'.$size.'" height="'.$size.'" alt="'.$alt.'" />';
return $return;
Как я могу проверить, чтобы, если «be_custom_avatar» был пуст в профиле пользователя, и у них не установлен граватар, он возвращает wordpress $ avatar по умолчанию?
Спасибо
Добавить свой аватар в WordPress
add_filter( 'avatar_defaults', 'custom_avatar' );
function custom_avatar($avatar_defaults){
$custom_avatar = get_stylesheet_directory_uri() . '/images/default-avatar.jpg';
$avatar_defaults[$custom_avatar] = "My Default Avatar";
return $avatar_defaults;
}
Других решений пока нет …