修复了一些小问题

This commit is contained in:
kate522 committed 2026-08-30 13:49:54 +08:00
1 parent 1b4928d69b
commit ed914d2eec
12 files changed
+339 -349

No files matched your search

+37
View File
@@ -222,6 +222,43 @@ add_filter('get_avatar_data', static function (array $args, $subject): array {
return $args;
}, 20, 2);
if (!function_exists('aksrt_get_avatar_box')) {
/**
* legacy parity: 头像框(span.avatar-img + VIP 角标 + 可选主页链接)。
*
* @param mixed $id_or_email 用户 ID / WP_User / 邮箱。
* @param string $class 外层 span 类(avatar-img avatar-lg 等)。
* @param bool $link 是否包一层用户主页链接。
* @param bool $vip 是否叠加 VIP 角标图。
*/
function aksrt_get_avatar_box($id_or_email, string $class = 'avatar-img', bool $link = true, bool $vip = true): string {
$user_id = aksrt_resolve_avatar_user_id($id_or_email);
$subject = $user_id > 0 ? $user_id : $id_or_email;
$img = aksrt_get_avatar_html($subject, 80, ['class' => 'avatar']);
$badge = '';
if ($vip && $user_id > 0 && function_exists('aksrt_get_user_vip_level') && aksrt_get_user_vip_level($user_id) > 0) {
$icon_url = '';
if (class_exists('\AKSRT\Settings\Settings')) {
$vip_settings = \AKSRT\Settings\Settings::get_payment_vip_settings();
$level = aksrt_get_user_vip_level($user_id);
$icon_url = esc_url((string) ($vip_settings['levels'][$level]['img_icon'] ?? ''));
}
if ($icon_url !== '') {
$badge_text = function_exists('aksrt_get_vip_badge_text') ? aksrt_get_vip_badge_text($user_id) : 'VIP';
$badge = '<img class="avatar-badge" src="' . $icon_url . '" title="' . esc_attr($badge_text) . '" alt="' . esc_attr($badge_text) . '">';
}
}
$html = '<span class="' . esc_attr($class) . '">' . $img . $badge . '</span>';
if ($link && $user_id > 0) {
$home = function_exists('aksrt_get_user_home_url') ? aksrt_get_user_home_url($user_id) : get_author_posts_url($user_id);
$html = '<a href="' . esc_url($home) . '">' . $html . '</a>';
}
return $html;
}
}
add_action('show_user_profile', 'aksrt_render_admin_avatar_field');
add_action('edit_user_profile', 'aksrt_render_admin_avatar_field');
add_action('user_edit_form_tag', static function (): void {