【问题标题】:Adding class to gravatar img in wordpress在 wordpress 中向 gravatar img 添加类
【发布时间】:2012-11-12 15:04:27
【问题描述】:
我一直在尝试使用 get_avatar 在每个帖子下显示作者的头像 在 wordpress 模板中 应用类但我找不到将 class="pic-2" 添加到gravatar 图像代码甚至将 gravatar 高度和宽度分别更改为 100px 和 77px
<?php echo get_avatar( get_the_author_meta('ID'), 32 ); ?>
有什么帮助吗??
【问题讨论】:
标签:
wordpress
wordpress-theming
gravatar
【解决方案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】:
我认为处理这个问题的最好方法是使用过滤器,而不是像 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;
}
*注意,我没有对此进行测试,但相信它会起作用。请参阅this thread 了解更多信息。
【解决方案3】:
为将来的搜索者执行此操作的另一种方法,非常简单的字符串操作,如果他们将来更改函数可能会更安全,例如它可能总是有一个“类”。
$grvimg = get_avatar('email address', 200);
$grvimg = explode("class='", $grvimg);
$grvimg[1] = 'your-class ' . $grvimg[1];
$grvimg = $grvimg[0] . $grvimg[1];
echo $grvimg;
【解决方案4】:
如果@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 声望来评论其他帖子。