我从终极会员 -> 设置 -> 外观 -> 个人资料 -> 默认个人资料照片中设置了默认个人资料照片 但此选项将为所有角色设置个人资料照片。 如何为每个角色设置头像?
要为终极会员中的每个角色设置不同的默认个人资料图片,您需要使用自定义代码。 Ultimate Member插件本身不提供根据用户角色设置不同默认头像的内置功能。这是通过将自定义代码添加到 WordPress 主题的functions.php 文件来实现此目的的方法。
function custom_um_default_avatar_url( $avatar, $id_or_email, $size, $default, $alt ) {
// Check if user ID or email is provided
if ( is_numeric( $id_or_email ) ) {
$user_id = (int) $id_or_email;
} elseif ( is_object( $id_or_email ) && ! empty( $id_or_email->user_id ) ) {
$user_id = (int) $id_or_email->user_id;
} else {
return $avatar;
}
// Get user roles
$user = get_userdata( $user_id );
if ( !$user ) {
return $avatar;
}
$roles = $user->roles;
// Define default avatars for each role
$default_avatars = array(
'administrator' => 'URL_TO_ADMIN_DEFAULT_AVATAR',
'editor' => 'URL_TO_EDITOR_DEFAULT_AVATAR',
'author' => 'URL_TO_AUTHOR_DEFAULT_AVATAR',
'contributor' => 'URL_TO_CONTRIBUTOR_DEFAULT_AVATAR',
'subscriber' => 'URL_TO_SUBSCRIBER_DEFAULT_AVATAR',
// Add more roles and URLs as needed
);
// Check user roles and set the corresponding default avatar
foreach ( $roles as $role ) {
if ( isset( $default_avatars[ $role ] ) ) {
$avatar = $default_avatars[ $role ];
break;
}
}
return $avatar;
}
add_filter( 'get_avatar_url', 'custom_um_default_avatar_url', 10, 5 );