【问题标题】: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 声望来评论其他帖子。

        【讨论】:

        • 谢谢,终于找到解决办法了:)
        猜你喜欢
        • 2014-10-02
        • 1970-01-01
        • 1970-01-01
        • 2012-04-21
        • 2017-02-11
        • 2011-09-12
        • 2016-05-16
        • 2021-11-09
        • 2011-10-16
        相关资源
        最近更新 更多