Я новичок в PHP, как мне извлечь значение электронной почты из этой строки, чтобы получить или повторить аватар пользователя по электронной почте.
Я пробовал это, и он, кажется, не работает .. из-за того, что он не работает, он отображает электронную почту и аватар по умолчанию, который я хочу, чтобы скрипт использовал электронную почту, чтобы получить аватар.
<?php
$email = Sabai::_h($entity->getAuthor()->email);
echo get_avatar( $email, 32 );
?>
Какие-либо предложения?
Почему бы просто не заменить все это простыми функциями WordPress?
<?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?>
В актуальном get_avatar()
Функция применяет get_avatar
фильтр-хук в WordPress
return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
Я думаю, что это был бы правильный способ подключиться к этому фильтру:
function mytheme_get_avatar( $avatar, $id_or_email, $size ) {
$avatar = '<img src="<' . get_template_directory_uri() . '/images/authors/' . $id_or_email . '.jpg" alt="' . get_the_author() . '" width="' . $size . 'px" height="' . $size . 'px" />';
return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 32 );
Таким образом, вы также можете пойти по этому пути, чтобы решить вашу проблему. Удачи!
Кажется, вы возвращаете объект или массив в $email
переменная или может быть пустым.
убедитесь, что вы получаете правильный адрес электронной почты, чтобы он показывал avatar
изображение, если аккаунт зарегистрирован Gravatar
иначе это будет отображаться с no-image
,
Попробуйте вывести переменную $ по электронной почте сразу после
$email = Sabai::_h($entity->getAuthor()->email);
var_dump($email); // To check it is array or object.
echo get_avatar( $email, 32 );