在wordpress中添加类到gravatar img

时间:2012-11-24 15:54:01

标签: wordpress wordpress-theming gravatar

我一直在尝试使用get_avatar在应用类的每个帖子 in wordpress template 下显示作者的gravatar,但我找不到添加class =“pic-2”的方法gravatar图像代码甚至分别将gravatar高度和宽度改为100px和77px

<?php echo get_avatar( get_the_author_meta('ID'), 32 ); ?>

任何帮助人员?

4 个答案:

答案 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;