我一直在尝试使用 get_avatar在 wordpress 模板中的每个帖子下显示作者的 gravatar,但我找不到将 class="pic-2" 添加到 gravatar 图像代码甚至更改 gravatar 高度和宽度的方法分别为 100px 和 77px
<?php echo get_avatar( get_the_author_meta('ID'), 32 ); ?>
任何帮助家伙?
我一直在尝试使用 get_avatar在 wordpress 模板中的每个帖子下显示作者的 gravatar,但我找不到将 class="pic-2" 添加到 gravatar 图像代码甚至更改 gravatar 高度和宽度的方法分别为 100px 和 77px
<?php echo get_avatar( get_the_author_meta('ID'), 32 ); ?>
任何帮助家伙?
我认为处理这个问题的最好方法是使用过滤器,而不是像 George 建议的那样使用 jQuery。您只需将其添加到主题的functions.php文件中即可。
add_filter('get_avatar','add_gravatar_class');
function add_gravatar_class($class) {
$class = str_replace("class='avatar", "class='avatar pic-2", $class);
return $class;
}
*注意,我没有对此进行测试,但相信它会起作用。有关更多信息,请参阅此线程。
查看 WordPress Codex 了解更多信息:
http://codex.wordpress.org/Using_Gravatars
对于大小,尝试像这样包装第二个参数:
<?php echo get_avatar( get_the_author_meta('ID'), $size = '96' ); ?>
默认的 html 输出是这样的:
<img alt='' src='http://gravatarurl_or_default' class='avatar avatar-$size' height='$size' width='$size' />
您可以设置默认类 'avatar' 的样式来代替 'pic-2'。如果您仍想添加一个 class ,您可以通过 javascript 来完成,如下所示:
$("img[class='avatar']").addClass("pic-2");
希望这可以帮助!:)
如果@Ryan 回答(标记为解决方案)对您不起作用,请尝试更改
add_filter('get_avatar','add_gravatar_class');
function add_gravatar_class($class) {
$class = str_replace("class='avatar", "class='avatar pic-2", $class);
return $class;
}
进入
add_filter('get_avatar','add_gravatar_class');
function add_gravatar_class($class) {
$class = str_replace('class="avatar', 'class="avatar pic-2', $class);
return $class;
}
在将“替换为”之后,这个开始对我有用。
抱歉,我没有将此作为对该答案的评论,但我没有 50 名声望来评论其他帖子。
为将来的搜索者执行此操作的另一种方法,非常简单的字符串操作,如果他们将来更改函数可能会更安全一些,例如它可能总是有一个“类”。
$grvimg = get_avatar('email address', 200);
$grvimg = explode("class='", $grvimg);
$grvimg[1] = 'your-class ' . $grvimg[1];
$grvimg = $grvimg[0] . $grvimg[1];
echo $grvimg;