feat(payment): complete creator income center
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+18
-1
@@ -68,6 +68,17 @@ class Center {
|
||||
return new \WP_Error('aksrt_user_center_context', __('用户中心数据加载失败', 'aksrt'), ['status' => 500]);
|
||||
}
|
||||
|
||||
$income_request = [];
|
||||
if ($tab === 'creator') {
|
||||
$currency = sanitize_key((string) $request->get_param('income_currency'));
|
||||
$status = sanitize_key((string) $request->get_param('income_status'));
|
||||
$income_request = [
|
||||
'currency' => in_array($currency, ['', 'CNY', 'points'], true) ? $currency : '',
|
||||
'status' => in_array($status, ['', 'pending', 'settled', 'cancelled', 'reversed', 'pending_recovery'], true) ? $status : '',
|
||||
'page' => max(1, min(100, (int) $request->get_param('income_page'))),
|
||||
];
|
||||
$context['creator_income_request'] = $income_request;
|
||||
}
|
||||
$revenue_request = [];
|
||||
if ($tab === 'revenue') {
|
||||
$reward_tab = sanitize_key((string) $request->get_param('reward_tab'));
|
||||
@@ -95,6 +106,7 @@ class Center {
|
||||
'tab' => $tab,
|
||||
'html' => $html,
|
||||
'reward_tab' => $revenue_request['reward_tab'] ?? '',
|
||||
'creator_income' => $income_request,
|
||||
'commission_page' => $revenue_request['commission_page'] ?? 1,
|
||||
'invite_page' => $revenue_request['invite_page'] ?? 1,
|
||||
],
|
||||
@@ -210,6 +222,8 @@ class Center {
|
||||
$revenue_tab_on = class_exists('\AKSRT\Settings\Settings')
|
||||
&& !empty(\AKSRT\Settings\Settings::get_payment_affiliate_settings()['enabled'])
|
||||
&& \AKSRT\Settings\Settings::invite_registration_enabled();
|
||||
$creator_tab_on = class_exists('\AKSRT\Settings\Settings')
|
||||
&& !empty(\AKSRT\Settings\Settings::get_payment_revenue_settings()['enabled']);
|
||||
$vip_on = class_exists('\AKSRT\Settings\Settings')
|
||||
&& !empty(\AKSRT\Settings\Settings::get_payment_vip_settings()['enabled']);
|
||||
|
||||
@@ -217,10 +231,13 @@ class Center {
|
||||
$order = $configured;
|
||||
|
||||
// Creator center is a dedicated workspace, separate from the posts archive.
|
||||
if (!in_array('creator', $order, true)) {
|
||||
if ($creator_tab_on && !in_array('creator', $order, true)) {
|
||||
$insert_at = array_search('profile', $order, true);
|
||||
array_splice($order, $insert_at === false ? 0 : (int) $insert_at + 1, 0, ['creator']);
|
||||
}
|
||||
if (!$creator_tab_on) {
|
||||
$order = array_values(array_filter($order, static fn(string $key): bool => $key !== 'creator'));
|
||||
}
|
||||
|
||||
// Growth level is a dedicated user-center surface, separate from spendable points.
|
||||
if ($level_on && !in_array('level', $order, true)) {
|
||||
|
||||
Reference in New Issue
Block a user