Files
wordpress-theme-aksrt/inc/helpers/aksrt-credits.php
T

54 lines
1.6 KiB
PHP

<?php
/**
* AKSRT Credits Helper
*
* 模板层使用的顶层辅助函数:
* aksrt_user_credits($user_id = 0) 读取余额
* aksrt_format_credits(int $n) 格式化展示
* aksrt_credits_label(string $reason) 流水原因 → 友好文案
*
* @package AKSRT
*/
defined('ABSPATH') || exit;
if (!function_exists('aksrt_user_credits')) {
/**
* 取用户当前积分余额。
*
* @param int $user_id 0 表示当前登录用户
* @return int
*/
function aksrt_user_credits(int $user_id = 0): int {
if ($user_id <= 0) $user_id = get_current_user_id();
if ($user_id <= 0) return 0;
if (!class_exists('AKSRT_Credits')) return 0;
return AKSRT_Credits::balance($user_id);
}
}
if (!function_exists('aksrt_format_credits')) {
function aksrt_format_credits(int $n): string {
return number_format_i18n($n);
}
}
if (!function_exists('aksrt_credits_label')) {
/**
* 把 reason 字段翻译成展示文案。
*/
function aksrt_credits_label(string $reason): string {
$map = [
'register' => __('注册赠送', 'aksrt'),
'signin' => __('每日签到', 'aksrt'),
'comment' => __('发表评论', 'aksrt'),
'invite' => __('邀请奖励', 'aksrt'),
'invitee' => __('被邀请奖励', 'aksrt'),
'download' => __('下载消费', 'aksrt'),
'admin' => __('管理员调整', 'aksrt'),
'refund' => __('退款', 'aksrt'),
];
return $map[$reason] ?? $reason;
}
}