如何在WordPress评论中添加一个随机自定义Gravator?

时间:2016-01-18 作者:Michael Musgrove

我有一个客户,有5个不同的gravatar图像,并希望它们被随机用作没有gravatar的人们评论的缩略图。我知道如何将Gravatar更改为自定义Gravatar,但不会每次随机显示集合中的五个Gravatar之一。我知道这是可以做到的,因为Automatic做到了这一点,但我现在不知道在哪里可以看到这些代码。

比我聪明的人知道怎么做吗?

//* Create a custom Gravatar
add_filter( \'avatar_defaults\', \'sp_custom_gravatar\' );
function sp_custom_gravatar ($avatar) {
    $custom_avatar = get_stylesheet_directory_uri() . \'/images/gravatar.png\';
    $avatar[$custom_avatar] = "Custom Gravatar";
    return $avatar;
}

1 个回复
SO网友:flomei

看看the Codex about "Using Gravatars". 在那里,你会发现一个关于“检查是否存在坟墓”的部分,其工作原理如下:

这样做的诀窍是将“404”指定为默认值。在这种情况下,如果不存在gravatar,gravatar服务将返回404错误,而不是返回一些默认图像。一幅真实的图像将得到200码。最好检查200,因为对于其他情况,可能还会返回一些其他错误。

还有一个代码段可用于该检查。

然后在中为您的默认化身构建类似的内容single.php/comments.php 或者无论您使用什么:

$default_avatars = array(
                      \'yoururl.com/whatever/static/ava1.jpg\',
                      \'yoururl.com/whatever/static/ava2.jpg\',
                      \'yoururl.com/whatever/static/ava3.jpg\',
                      \'yoururl.com/whatever/static/ava4.jpg\',
                      \'yoururl.com/whatever/static/ava5.jpg\'
                   );
$my_default_avatar_now = array_rand($default_avatars);

echo \'<img src="\'.$my_default_avatar_now.\'" class="avatar" />\';
array_rand() 从php上的评论来看,似乎没有最好的随机性。net,但也许它对你很好。

这段代码未经测试,因此它更像是对您可以使用的方式的解释,然后是一个现成的解决方案。

相关推荐

Help with comments.php

我有一个带有短代码的页面,显示数据库中的信息。我已将其设置为允许在页面上发表评论。我遇到的问题是,当我单击“提交评论”时,我会收到以下消息:注意:事件中未定义索引:id。php在线989这一行从用户单击以访问此页面的链接中获取id,这很好。是否有方法通过注释传递此id。php页面以确保页面加载正常?以下是评论。php代码:if (have_comments()) { wp_list_comments(\'\'); } $comments_args = array(