如何在 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之类的插件。
我想在我的 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之类的插件。