是否可以替代使用Get_Avata功能?

时间:2011-07-12 作者:Sledge81

我使用WP黑客来显示作者的图片。例如,我的单身。php有一个author slug,它显示作者的pic。

我在“主题/图像”文件夹中创建了一个名为“作者”的文件夹。根据作者的ID,我将文件命名为1。jpg,2。jpg等等。

因此,我将此图像称为

<img src="<?php bloginfo(\'template_directory\') ?>/images/authors/<?php the_author_ID()?>.jpg" alt="<?php the_author(); ?>">
现在,我正在修改一个插件,该插件在侧栏中显示作者。但是,此插件使用get\\u avatar功能,如下所示:

/**
                 * If show avatar option is checked, add get_avatar function to cache.
                 */
                if($jmetc_options[\'show_avatar\'] == 1) {
                    $jmevar[\'cache\'] .= get_avatar($tc->comment_author_email, $jmetc_options[\'avatar_size\']);
                }
有人能告诉我如何使用/修改get\\u头像以使用我使用的默认代码吗?

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

这个get_avatar() 函数应用get_avatar 过滤器挂钩,可用于更改化身标记:

return apply_filters(\'get_avatar\', $avatar, $id_or_email, $size, $default, $alt);
我认为这将是连接到此过滤器的正确方法:

function mytheme_get_avatar( $avatar ) {
    $avatar = \'<img src="<\' . get_template_directory_uri() . \'/images/authors/\' . get_the_author_ID() . \'.jpg" alt="\' . get_the_author() . \'">\';
    return $avatar;
}
add_filter( \'get_avatar\', \'mytheme_get_avatar\' );

EDIT

p、 这种方法的一个很好的替代方法可能是Simple Local Avatars 插件。

EDIT 2

过滤器的应用使用add_filter(), 不apply_filters(). 那是我的错别字;现在修好了!

EDIT 3

我认为这是不对的:

P、 S:我只是想澄清一下。。我替换了get_avatar($tc->comment_author_email, $jmetc_options[\'avatar_size\']); 具有add_filter(\'get_avatar\', $avatar, $id_or_email, $size, $default, $alt);

首先,你还是打电话get_avatar() 在模板文件中,传递与前面相同的所有参数。这个add_filter() 呼叫属于functions.php.

其次,您可以将其他参数传递给过滤器函数;e、 g.:

function mytheme_get_avatar( $avatar, $id_or_email, $size ) {
    $avatar = \'<img src="<\' . get_template_directory_uri() . \'/images/authors/\' . $id_or_email . \'.jpg" alt="\' . get_the_author() . \'" width="\' . $size . \'px" height="\' . $size . \'px" />\';
    return $avatar;
}
add_filter( \'get_avatar\', \'mytheme_get_avatar\', 10, 3 );

SO网友:Juergen

上面的函数有一个小错误

更好地使用:

function mytheme_get_avatar( $avatar, $id_or_email, $size ) {
    $avatar = \'<img src="\' . get_template_directory_uri() . \'/images/authors/\' . $id_or_email . \'.jpg" alt="\' . get_the_author() . \'" width="\' . $size . \'px" height="\' . $size . \'px" />\';
    return $avatar;
}
add_filter( \'get_avatar\', \'mytheme_get_avatar\', 10, 3 );

结束

相关推荐

How to change user`s avatar?

有没有办法在没有插件的情况下改变用户的头像?为什么在用户>你的个人资料中没有“头像上传”部分?我不能使用插件。我是失明还是被迫使用Gravatar/