修复了一些小问题
This commit is contained in:
1 parent
1b4928d69b
commit
ed914d2eec
12 files changed
+339
-349
No files matched your search
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user