如何在 Wordpress 中使用自定义随机头像?

How Can Use Custom Random Avatar in Wordpress?

我想在我的 wordpress 网站中使用一些图片中的随机头像。 我们有一些图像,例如 20,这些图像具有相同的大小和相同的格式。如何为每个用户设置一张这张图片(随机)。

tnx

为了实现这一点,可以修改函数 get_avatar() 的行为。

您可以在avatar_defaults选项中添加过滤器,并修改“头像数组”,以便在讨论设置中获得一个新的“静态”默认头像选项。你可以在这里看到一个例子。 您可以将过滤器添加到 pre_option_avatar_default 和 return 任何您想要的 URL。 我将使用第二个选项,因此 URL returned 将从一组中随机选取。

// Random Chameleon Avatar

add_filter( 'pre_option_avatar_default', 'chameleon_default_avatar' );

function chameleon_default_avatar ( $value )
{
  return admin_url( 'images' ) . '/cham_avatars/cham_avatar'.rand( 0 , 13 ).'.jpg';
}
// Random Chameleon Avatar

add_filter( 'pre_option_avatar_default', 'chameleon_default_avatar' );

function chameleon_default_avatar ( $value )
{
  return admin_url( 'images' ) . '/cham_avatars/cham_avatar'.rand( 0 , 13 ).'.jpg';
}

这将修改 WordPress 使用的常规流程,并 return 自定义随机头像。我创建了 14 个头像,将它们命名为 cham_avatar0.jpg 到 cham_avatar13.jpg,并将它们复制到我的 wp_admin/images/cham_avatars 文件夹中。

问题是直接修改WordPress的源代码并不理想,因为会在WP更新时搞砸。

我建议为此使用 WordPress 插件代码片段。它有助于使您的修改井井有条并避免更新,您可以轻松启用或禁用它们。

此外,请参阅此 link 了解更多信息 https://ownyourbits.com/2017/01/31/custom-random-avatars-in-wordpress/

假设您有 20 张头像供用户使用,例如 1.jpg、2.jpg、3.jpg、...、20.jpg。管理员头像是admin.jpg.

您可以使用 get_avatar_data() 函数。

add_filter('get_avatar_data', 'local_random_avatar', 10, 2);

function local_random_avatar($args, $id_or_email){
    if ($id_or_email->user_id == '1') {
        // admin id is 1
        $args['url'] = 'admin.jpg';
        return $args;
    } else if ($id_or_email->user_id == null) {
        // admin id is null
        $args['url'] = 'admin.jpg';
        return $args;
    } else {
        // user avatar
        $random = mt_rand(1, 20);
        $args['url'] = . $random .'.jpg';
        return $args;
    }
}
  • 用户ID为1时为admin ID
  • 当用户ID为空时,可能是Wordpress文章中的管理员头像
  • 剩下的就是所有其他用户。

将上面的代码修改成自己的路径,然后添加到functions.php或者使用Snippets之类的插件。