Files
wordpress-theme-aksrt/inc/helpers/aksrt-commerce.php
T
kate522andClaude Fable 5 663c0bb53e feat(shop): 交易中心壳层 1:1 统一购物车/订单/收益
抽出 commerce header 与二级导航,购物车/订单/收益共用主站交易中心壳层;收益 stats 轻量化,降低独立电商后台观感。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 11:32:04 +08:00

97 lines
3.4 KiB
PHP

<?php
/**
* Commerce center (cart / orders / revenue) presentation helpers.
*
* @package AKSRT
*/
defined('ABSPATH') || exit;
if (!function_exists('aksrt_get_commerce_nav_items')) {
/**
* Secondary nav for commerce center pages.
*
* @return array<int, array{key:string,label:string,url:string}>
*/
function aksrt_get_commerce_nav_items(): array {
$items = [];
$cart = function_exists('aksrt_get_cart_page_url') ? aksrt_get_cart_page_url() : '';
if ($cart !== '') {
$items[] = [
'key' => 'cart',
'label' => __('购物车', 'aksrt'),
'url' => $cart,
];
}
$orders = function_exists('aksrt_get_orders_page_url') ? aksrt_get_orders_page_url() : '';
if ($orders !== '') {
$items[] = [
'key' => 'orders',
'label' => __('我的订单', 'aksrt'),
'url' => $orders,
];
}
$revenue = function_exists('aksrt_get_revenue_page_url') ? aksrt_get_revenue_page_url() : '';
if ($revenue !== '') {
$items[] = [
'key' => 'revenue',
'label' => __('创作收益', 'aksrt'),
'url' => $revenue,
];
}
$center = function_exists('aksrt_get_user_center_url') ? aksrt_get_user_center_url() : '';
if ($center !== '') {
$items[] = [
'key' => 'center',
'label' => __('个人中心', 'aksrt'),
'url' => $center,
];
}
return $items;
}
}
if (!function_exists('aksrt_render_commerce_page_header')) {
/**
* Shared commerce page header: title / intro / secondary nav.
*
* @param array{title?:string,subtitle?:string,active?:string} $args
*/
function aksrt_render_commerce_page_header(array $args = []): void {
$title = (string) ($args['title'] ?? '');
$subtitle = (string) ($args['subtitle'] ?? '');
$active = sanitize_key((string) ($args['active'] ?? ''));
$nav = aksrt_get_commerce_nav_items();
?>
<header class="aksrt-commerce-header">
<?php if ($title !== '') : ?>
<h1 class="aksrt-commerce-header__title"><?php echo esc_html($title); ?></h1>
<?php endif; ?>
<?php if ($subtitle !== '') : ?>
<p class="aksrt-commerce-header__subtitle"><?php echo esc_html($subtitle); ?></p>
<?php endif; ?>
<?php if (!empty($nav)) : ?>
<nav class="aksrt-commerce-header__nav" aria-label="<?php esc_attr_e('交易中心导航', 'aksrt'); ?>">
<?php foreach ($nav as $item) :
$is_active = $active !== '' && $active === ($item['key'] ?? '');
?>
<a
class="aksrt-commerce-header__nav-item<?php echo $is_active ? ' is-active' : ''; ?>"
href="<?php echo esc_url((string) ($item['url'] ?? '#')); ?>"
<?php echo $is_active ? ' aria-current="page"' : ''; ?>
>
<?php echo esc_html((string) ($item['label'] ?? '')); ?>
</a>
<?php endforeach; ?>
</nav>
<?php endif; ?>
</header>
<?php
}
}