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, 'posts_per_page' => $per_page, 'post_status' => 'publish', 'paged' => $posts_page, 'no_found_rows' => false, 'update_post_meta_cache' => false, ]); if ($author_posts->have_posts()) : ?>
have_posts()) : $author_posts->the_post(); ?> 'view', 'url' => get_permalink(), 'label' => __('阅读', 'aksrt'), ]); set_query_var('aksrt_profile_item_status', ''); get_template_part('templates/parts/content', 'profile-list-item'); ?>
max_num_pages, $posts_page, 'posts_page'); wp_reset_postdata(); set_query_var('aksrt_profile_item_action', []); else : aksrt_render_profile_empty($svg_empty_post, __('TA 还没有发布文章', 'aksrt')); endif; ?>
> $user_id, 'status' => 'approve', 'number' => $per_page, 'offset' => ($comments_page - 1) * $per_page, 'type' => 'comment', 'update_comment_meta_cache' => false, ]); if ($user_comments) : ?>
> 'post', 'post_status' => 'publish', 'post__in' => $favorite_post_ids, 'orderby' => 'post__in', 'posts_per_page' => $per_page, 'paged' => $favorites_page, 'ignore_sticky_posts' => true, 'no_found_rows' => false, 'update_post_meta_cache' => false, ]); if ($favorites_query->have_posts()) : ?>
have_posts()) : $favorites_query->the_post(); ?> 'view', 'url' => get_permalink(), 'label' => __('阅读', 'aksrt'), ]); set_query_var('aksrt_profile_item_status', ''); get_template_part('templates/parts/content', 'profile-list-item'); ?>
max_num_pages, $favorites_page, 'favorites_page'); wp_reset_postdata(); set_query_var('aksrt_profile_item_action', []); else : aksrt_render_profile_empty($svg_empty_favorite, __('TA 还没有收藏文章', 'aksrt')); endif; ?>
>

__('暂无商品内容', 'aksrt'), 'plate' => __('暂无圈子内容', 'aksrt'), ]; foreach ($_uh_extended_tabs as $_uh_ext) : if (!in_array($_uh_ext, $enabled_tabs, true)) continue; ?>
>
>

get_user_forum_topics($user_id, ['page' => $forum_page, 'limit' => $per_page]); if (!empty($forum_topics['items'])) : ?> 1) : ?>
add_query_arg('forum_page', '%#%', $home_url), 'format' => '', 'current' => $forum_page, 'total' => $forum_topics['max_pages'], 'add_args' => ['tab' => 'forum', 'forum_sub' => 'topics'], ]); ?>
get_user_favorite_topics($user_id, $forum_page, $per_page); if (!empty($fav_topics['items'])) : ?> 1) : ?>
add_query_arg('forum_page', '%#%', $home_url), 'format' => '', 'current' => $forum_page, 'total' => $fav_topics['max_pages'], 'add_args' => ['tab' => 'forum', 'forum_sub' => 'favorites'], ]); ?>
get_user_managed_plates($user_id); $followed_plates = $forum_instance->get_user_followed_plates($user_id); $has_plates = !empty($managed_plates['owned']) || !empty($managed_plates['moderating']) || !empty($followed_plates); if ($has_plates) : ?>

> get_user_followed_plates($user_id); if (!empty($followed)) : ?>