我一直在尝试使用get_avatar在应用类的每个帖子 in wordpress template 下显示作者的gravatar,但我找不到添加class =“pic-2”的方法gravatar图像代码甚至分别将gravatar高度和宽度改为100px和77px
<?php echo get_avatar( get_the_author_meta('ID'), 32 ); ?>
任何帮助人员?
答案 0 :(得分:18)
我认为处理这个的最好方法是使用过滤器,而不是像乔治建议的那样使用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;
}
*注意,我没有对此进行测试,但相信它会起作用。有关详细信息,请参阅this thread。
答案 1 :(得分:1)
查看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”。如果你还想添加一个类,你可以通过javascript这样做:
$("img[class='avatar']").addClass("pic-2");
希望这有帮助! :)
答案 2 :(得分:1)
如果@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;
}
在替换后,这个开始为我工作&#34;用&#39;。
很抱歉,我没有将此作为对此答案的评论,但我没有50个评论其他帖子的声誉。
答案 3 :(得分:0)
为未来的搜索者做另一种方法,非常简单的字符串操作,如果他们将来改变功能可能会更安全一些,例如它可能总是有一个'阶级'。
$grvimg = get_avatar('email address', 200);
$grvimg = explode("class='", $grvimg);
$grvimg[1] = 'your-class ' . $grvimg[1];
$grvimg = $grvimg[0] . $grvimg[1];
echo $grvimg;