Wordpress 内置了 get_avatar 函数。您正在做的是通过自定义函数获取头像并使用 wordpress 通过 get_avatar 函数获取头像。你可以阅读更多关于它here
您可以直接从 single.php 页面调用它,并在没有您的函数的情况下直接从相同的代码调整它的大小。
<?php echo get_avatar( $id_or_email, $size, $default, $alt ); ?>
这里有一些例子
对于 cmets:
<?php echo get_avatar( $comment, 32 ); ?>
对于帖子的作者,在循环中:
<?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?>
对于随机电子邮件地址:
<?php echo get_avatar( 'email@example.com', 32 ); ?>
评论更新:
这两种方法都可以解决您的问题。为什么要尝试检索 gravatar 的 url,以便在只能显示 gravatar 时使用该 url 显示 gravatar? Gravatar 以安全的方式动态执行此操作,您执行此操作的方式是获取作者的电子邮件并调用 gravatar 以从该电子邮件中返回图像。当您可以定位您的 div 时,我看不出将其作为 CSS 中 div 的背景的意义。您可以在一个 div 中调用 Gravatar,并在其上放置另一个包含文本的 div,或者通过将其用作 div 背景来执行任何操作。
Gravatar 的工作方式是从服务器动态检索用户的图像。如果每个人的 gravatar 都通过引用 img url 来显示,那么它的编码会非常不同。 Wordpress 有一篇名为 Using Gravatars 的文章对此进行了很好的解释。
如果这样对您更有意义,您可以将其放入插件或 functions.php 中,但它最终是一样的。你想调用 Gravatar 并保护它,然后简单地将它放在一个 div 中并设置它的样式。这是我知道如何解释它的唯一方法。
function my_display_gravatar() {
global $author;
get_the_author_meta();
// Get User Email Address
$getuseremail = $author->user_email;
// Convert email into md5 hash and set image size to 200 px
$usergravatar = 'http://www.gravatar.com/avatar/' . md5($getuseremail) . '?s=200';
echo '<img src="' . $usergravatar . '" class="wpb_gravatar" />';
}
然后调用函数
<div id="gravatar">
<?php echo my_display_gravatar(); ?>
</div>
如果您通过 ssl 提供服务,请记住使用 https://secure.gravatar.com
如果你明白我的意思,请告诉我。