Files
wordpress-theme-aksrt/templates/parts/user-center/uc-dashboard.php
T

99 lines
4.4 KiB
PHP

<?php
/**
* 用户中心 — 仪表盘面板
*
* 显示当前登录用户的基本信息概览、积分、VIP状态、快捷操作。
*
* @package AKSRT
* @since 5.0.0
*/
defined('ABSPATH') || exit;
$user_id = get_current_user_id();
$user = wp_get_current_user();
$dashboard = function_exists('aksrt_get_user_dashboard_view')
? aksrt_get_user_dashboard_view($user_id, ['viewer_id' => $user_id])
: [];
$credits_enabled = !empty($dashboard['credits_enabled']);
$credit_balance = $dashboard['credit_balance'] ?? 0;
$currency_name = $dashboard['currency_name'] ?? __('积分', 'aksrt');
$is_vip = function_exists('aksrt_is_vip') && aksrt_is_vip($user_id);
$post_count = (int) ($dashboard['post_count'] ?? 0);
$comment_count = (int) ($dashboard['comment_count'] ?? 0);
$favorite_count = (int) ($dashboard['favorite_count'] ?? 0);
$order_count = (int) ($dashboard['order_count'] ?? 0);
?>
<div class="uc-dashboard">
<!-- 用户信息卡片 -->
<div class="uc-dashboard__profile">
<div class="uc-dashboard__avatar">
<?php echo get_avatar($user_id, 80); ?>
<?php if ($is_vip) : ?>
<span class="aksrt-vip-badge aksrt-vip-badge--sm">VIP</span>
<?php endif; ?>
</div>
<div class="uc-dashboard__info">
<h3 class="uc-dashboard__name"><?php echo esc_html($user->display_name); ?></h3>
<p class="uc-dashboard__desc">
<?php
$desc = $user->description ?: __('这个人很懒,什么都没写~', 'aksrt');
echo esc_html(wp_trim_words($desc, 30));
?>
</p>
<div class="uc-dashboard__meta">
<span><i class="fas fa-calendar-alt"></i> <?php echo esc_html(__('注册于', 'aksrt') . ' ' . date_i18n(get_option('date_format'), strtotime($user->user_registered))); ?></span>
</div>
</div>
<a href="<?php echo esc_url(get_edit_profile_url($user_id)); ?>" class="btn btn-outline-primary btn-sm">
<i class="fas fa-edit"></i> <?php esc_html_e('编辑资料', 'aksrt'); ?>
</a>
</div>
<!-- 数据统计 -->
<div class="uc-dashboard__stats">
<a href="<?php echo esc_url(get_author_posts_url($user_id)); ?>" class="uc-dashboard__stat">
<span class="uc-dashboard__stat-num"><?php echo $post_count; ?></span>
<span class="uc-dashboard__stat-label"><?php esc_html_e('文章', 'aksrt'); ?></span>
</a>
<a href="#uc-comments" class="uc-dashboard__stat">
<span class="uc-dashboard__stat-num"><?php echo $comment_count; ?></span>
<span class="uc-dashboard__stat-label"><?php esc_html_e('评论', 'aksrt'); ?></span>
</a>
<a href="#uc-favorites" class="uc-dashboard__stat">
<span class="uc-dashboard__stat-num"><?php echo $favorite_count; ?></span>
<span class="uc-dashboard__stat-label"><?php esc_html_e('收藏', 'aksrt'); ?></span>
</a>
<?php if ($credits_enabled) : ?>
<a href="#uc-credits" class="uc-dashboard__stat">
<span class="uc-dashboard__stat-num"><?php echo esc_html(number_format($credit_balance, 2)); ?></span>
<span class="uc-dashboard__stat-label"><?php echo esc_html($currency_name); ?></span>
</a>
<?php endif; ?>
</div>
<!-- 快捷操作 -->
<div class="uc-dashboard__actions">
<a href="<?php echo esc_url(get_edit_profile_url($user_id)); ?>" class="uc-dashboard__action">
<i class="fas fa-user-edit"></i>
<span><?php esc_html_e('编辑资料', 'aksrt'); ?></span>
</a>
<a href="<?php echo esc_url(get_edit_profile_url($user_id) . '#password'); ?>" class="uc-dashboard__action">
<i class="fas fa-key"></i>
<span><?php esc_html_e('修改密码', 'aksrt'); ?></span>
</a>
<?php if ($order_count > 0) : ?>
<a href="<?php echo esc_url(home_url('/orders/')); ?>" class="uc-dashboard__action">
<i class="fas fa-shopping-bag"></i>
<span><?php esc_html_e('我的订单', 'aksrt'); ?></span>
</a>
<?php endif; ?>
<a href="<?php echo esc_url(wp_logout_url(home_url())); ?>" class="uc-dashboard__action uc-dashboard__action--danger">
<i class="fas fa-sign-out-alt"></i>
<span><?php esc_html_e('退出登录', 'aksrt'); ?></span>
</a>
</div>
</div>