Изменение функции get_avatar () - PullRequest
       76

Изменение функции get_avatar ()

0 голосов
/ 06 сентября 2018

Я нашел отличный учебник по созданию собственного аватара (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 по умолчанию?

Спасибо

1 Ответ

0 голосов
/ 06 сентября 2018

Добавить свой аватар в 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;
 }

Попробуйте этот код, вы получите решение

...