如何在Wordpress中使用自定义随机化身?
我想在我的wordpress网站中使用一些图片中的随机化身。 我们有一些图像,例如20,这些图像具有相同的大小和格式。如何为每个用户设置一张图片(随机)如何在Wordpress中使用自定义随机化身?,wordpress,avatar,Wordpress,Avatar,我想在我的wordpress网站中使用一些图片中的随机化身。 我们有一些图像,例如20,这些图像具有相同的大小和格式。如何为每个用户设置一张图片(随机) 为了实现这一点,可以修改函数get_avatar()的行为 您可以向avatar_默认选项添加过滤器,并修改“avatars array”,以便在讨论设置中获得新的“静态”默认avatar选项。你可以在这里看到一个例子。 您可以将过滤器添加到pre_选项_avatar_默认值,并返回您想要的任何URL。 我将使用第二个选项,因此返回的URL将从
为了实现这一点,可以修改函数get_avatar()的行为 您可以向avatar_默认选项添加过滤器,并修改“avatars array”,以便在讨论设置中获得新的“静态”默认avatar选项。你可以在这里看到一个例子。 您可以将过滤器添加到pre_选项_avatar_默认值,并返回您想要的任何URL。 我将使用第二个选项,因此返回的URL将从集合中随机选取
// 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使用的常规流,并返回一个自定义的随机化身。我创建了14个化身,将它们命名为cham_avatar0.jpg到cham_avatar13.jpg,并将它们复制到我的wp_admin/images/cham_avatars文件夹中
问题是直接修改WordPress的源代码并不理想,因为它会在WP更新中出错
为此,我建议使用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时,它是管理员ID
- 当用户ID为null时,它可能是Wordpress文章中管理员的化身
- 其余的是所有其他用户
将上述代码修改为您自己的路径,然后添加到functions.php或使用类似Snippets的插件。谢谢,但这种方式在wordpress 4.9.8和4.9.9中不起作用