Files
wordpress-theme-aksrt/templates/pages/page-messages.php
T
2026-08-25 17:57:20 +08:00

54 lines
2.2 KiB
PHP

<?php
/**
* Routed message center shell.
*
* @package AKSRT
*/
defined('ABSPATH') || exit;
if (!is_user_logged_in()) {
wp_safe_redirect(function_exists('aksrt_get_login_url') ? aksrt_get_login_url() : wp_login_url(aksrt_get_messages_page_url()));
exit;
}
get_header();
\AKSRT\WidgetSystem\WidgetAreas::render('msg_top_fluid', 'fluid-widget-wrap');
$messages_enabled = !class_exists('\AKSRT\Settings\Settings') || \AKSRT\Settings\Settings::message_enabled();
$user_id = get_current_user_id();
$current_view = aksrt_normalize_message_view((string) get_query_var('aksrt_message_view'));
?>
<main id="main-content" class="site-main content-shell" tabindex="-1">
<?php if (function_exists('aksrt_breadcrumbs')) { aksrt_breadcrumbs(); } ?>
<div class="container">
<header class="messages-center__header">
<h1 class="messages-center__title"><?php esc_html_e('消息中心', 'aksrt'); ?></h1>
<p class="messages-center__subtitle"><?php esc_html_e('查看站内通知与互动提醒', 'aksrt'); ?></p>
</header>
<?php if (!$messages_enabled) : ?>
<div class="messages-center messages-center--disabled">
<div class="messages-empty">
<span class="messages-empty__icon"><i class="fa fas fa-bell-slash"></i></span>
<p class="messages-empty__text"><?php esc_html_e('站内消息功能未开启', 'aksrt'); ?></p>
<p class="messages-empty__hint"><?php esc_html_e('请联系管理员在后台「用户 → 消息通知」中启用。', 'aksrt'); ?></p>
</div>
</div>
<?php else : ?>
<div class="messages-center" data-message-center data-view="<?php echo esc_attr($current_view); ?>">
<aside class="messages-center__nav" aria-label="<?php esc_attr_e('消息分类', 'aksrt'); ?>" data-message-nav>
<?php aksrt_render_message_center_nav($current_view, aksrt_get_message_center_counts($user_id)); ?>
</aside>
<section class="messages-center__content" data-message-content aria-live="polite" tabindex="-1">
<?php aksrt_render_message_center_list($user_id, $current_view); ?>
</section>
</div>
<?php endif; ?>
</div>
</main>
<?php \AKSRT\WidgetSystem\WidgetAreas::render('msg_bottom_fluid', 'fluid-widget-wrap'); ?>
<?php get_footer(); ?>