ID; // 数据聚合:复用共享 helper $dashboard = function_exists('aksrt_get_user_dashboard_view') ? aksrt_get_user_dashboard_view($user_id, ['viewer_id' => get_current_user_id()]) : []; $is_own_profile = !empty($dashboard['is_own_profile']); $user_home_settings = class_exists('AKSRT_Settings') ? AKSRT_Settings::get_user_home_settings() : [ 'tabs' => ['posts', 'comments', 'favorites'], 'sidebar' => true, 'cover' => true, 'follow' => true, 'posts_per_page' => 10, ]; $post_count = (int) ($dashboard['post_count'] ?? 0); $comment_count = (int) ($dashboard['comment_count'] ?? 0); $favorite_post_ids = $dashboard['favorite_post_ids'] ?? []; $favorite_count = (int) ($dashboard['favorite_count'] ?? 0); $user_contacts = $dashboard['user_contacts'] ?? []; $user_center_settings = class_exists('AKSRT_Settings') ? AKSRT_Settings::get_user_center_settings() : ['social_links' => true]; $per_page = (int) $user_home_settings['posts_per_page']; $credits_enabled = !empty($dashboard['credits_enabled']); $credit_balance = $dashboard['credit_balance'] ?? 0.0; $currency_name = $dashboard['currency_name'] ?? __('积分', 'aksrt'); $user_home_manager = class_exists('AKSRT_User_Home') ? AKSRT_User_Home::get_instance() : null; $visible_tabs = $user_home_manager ? $user_home_manager->get_visible_tabs($is_own_profile) : []; $profile_signals = $dashboard['profile_signals'] ?? []; $profile_notice = $dashboard['profile_notice'] ?? null; $show_report_button = !empty($dashboard['show_report']); $enabled_tabs = array_keys($visible_tabs); if (empty($enabled_tabs)) { $enabled_tabs = ['posts', 'comments', 'favorites']; } // Apply admin-configured display order $_uh_order = $user_home_settings['tabs_order'] ?? []; $_uh_ordered = []; foreach ($_uh_order as $_t) { if (in_array($_t, $enabled_tabs, true)) { $_uh_ordered[] = $_t; } } foreach ($enabled_tabs as $_t) { if (!in_array($_t, $_uh_ordered, true)) { $_uh_ordered[] = $_t; } } $enabled_tabs = $_uh_ordered; // Device visibility: build PC/mobile tab arrays $_uh_pc_hide = $user_home_settings['tabs_pc_hide'] ?? []; $_uh_mobile_hide = $user_home_settings['tabs_mobile_hide'] ?? []; $enabled_tabs_pc = array_values(array_diff($enabled_tabs, $_uh_pc_hide)); $enabled_tabs_mobile = array_values(array_diff($enabled_tabs, $_uh_mobile_hide)); $_uh_is_mobile = function_exists('wp_is_mobile') && wp_is_mobile(); $display_tabs = $_uh_is_mobile ? $enabled_tabs_mobile : $enabled_tabs_pc; $_uh_default_tab = !empty($display_tabs) ? $display_tabs[0] : $enabled_tabs[0]; $forum_instance = class_exists('AKSRT_Forum') ? AKSRT_Forum::get_instance() : null; $forum_stats = $forum_instance ? $forum_instance->get_user_forum_stats($user_id) : []; $forum_topic_count = (int) ($forum_stats['topic_count'] ?? 0); $forum_followed_count = (int) ($forum_stats['followed_plate_count'] ?? 0); $tab_counts = [ 'posts' => $post_count, 'comments' => $comment_count, 'favorites' => $favorite_count, 'credits' => $credits_enabled && $is_own_profile ? (int) round($credit_balance) : 0, 'product' => 0, 'plate' => 0, 'forum' => $forum_topic_count, 'follow' => $forum_followed_count, ]; $tab_labels = [ 'posts' => __('文章', 'aksrt'), 'comments' => __('评论', 'aksrt'), 'favorites' => __('收藏', 'aksrt'), 'credits' => sprintf(__('我的%s', 'aksrt'), $currency_name), 'product' => __('商品', 'aksrt'), 'plate' => __('圈子', 'aksrt'), 'forum' => __('论坛', 'aksrt'), 'follow' => __('关注', 'aksrt'), ]; foreach ($visible_tabs as $tab_key => $tab_config) { if (!empty($tab_config['label'])) { $tab_labels[$tab_key] = (string) $tab_config['label']; } } $active_tab = isset($_GET['tab']) ? sanitize_key(wp_unslash($_GET['tab'])) : $_uh_default_tab; if (!in_array($active_tab, $enabled_tabs, true)) { $active_tab = $_uh_default_tab; } $posts_page = max(1, isset($_GET['posts_page']) ? (int) $_GET['posts_page'] : 1); $comments_page = max(1, isset($_GET['comments_page']) ? (int) $_GET['comments_page'] : 1); $favorites_page = max(1, isset($_GET['favorites_page']) ? (int) $_GET['favorites_page'] : 1); require_once AKSRT_DIR . '/templates/parts/user-shared-helpers.php'; $svg_empty_post = ''; $svg_empty_comment = ''; $svg_empty_favorite = ''; $home_url = function_exists('aksrt_get_user_home_url') ? aksrt_get_user_home_url($user) : home_url('/'); ?>
$user, 'dashboard' => $dashboard, 'user_home_settings' => $user_home_settings, 'is_author_page' => false, ]); ?>
$user_id, 'user' => $user, 'home_url' => $home_url, 'active_tab' => $active_tab, 'enabled_tabs' => $enabled_tabs, 'tab_counts' => $tab_counts, 'tab_labels' => $tab_labels, 'per_page' => $per_page, 'posts_page' => $posts_page, 'comments_page' => $comments_page, 'favorites_page' => $favorites_page, 'comment_count' => $comment_count, 'favorite_post_ids' => $favorite_post_ids, 'credits_enabled' => $credits_enabled, 'is_own_profile' => $is_own_profile, 'credit_balance' => $credit_balance, 'currency_name' => $currency_name, 'svg_empty_post' => $svg_empty_post, 'svg_empty_comment' => $svg_empty_comment, 'svg_empty_favorite' => $svg_empty_favorite, 'forum_instance' => $forum_instance, 'forum_topic_count' => $forum_topic_count, 'forum_stats' => $forum_stats, 'user_home_settings' => $user_home_settings, 'user_center_settings' => $user_center_settings, 'user_contacts' => $user_contacts, ]; get_template_part('templates/parts/user-home/panels', 'core', $uh_panel_args); get_template_part('templates/parts/user-home/panel', 'forum', $uh_panel_args); get_template_part('templates/parts/user-home/panel', 'follow', $uh_panel_args); ?>