fix(user-center): connect certification workflow

This commit is contained in:
2026-07-28 14:17:18 +08:00
parent a7f3caec59
commit d3bf75fbea
13 changed files with 97 additions and 23 deletions
+7 -1
View File
@@ -18,6 +18,7 @@ add_filter('query_vars', function ($vars) {
$vars[] = 'aksrt_orders';
$vars[] = 'aksrt_cart';
$vars[] = 'aksrt_revenue';
$vars[] = 'aksrt_user_auth';
return $vars;
});
@@ -42,12 +43,14 @@ add_action('init', function () {
add_rewrite_tag('%aksrt_orders%', '([0-1])');
add_rewrite_tag('%aksrt_cart%', '([0-1])');
add_rewrite_tag('%aksrt_revenue%', '([0-1])');
add_rewrite_tag('%aksrt_user_auth%', '([0-1])');
add_rewrite_rule('^profile/?$', 'index.php?aksrt_user_center=1', 'top');
add_rewrite_rule('^user/([^/]+)/?$', 'index.php?user_nicename=$matches[1]', 'top');
// Commerce center aliases (work even before WP page is assigned).
add_rewrite_rule('^orders/?$', 'index.php?aksrt_orders=1', 'top');
add_rewrite_rule('^cart/?$', 'index.php?aksrt_cart=1', 'top');
add_rewrite_rule('^revenue/?$', 'index.php?aksrt_revenue=1', 'top');
add_rewrite_rule('^user-auth/?$', 'index.php?aksrt_user_auth=1', 'top');
});
// --- 3b. 统一模板拦截器(核心)---
@@ -166,7 +169,7 @@ add_action('init', function () {
}
// 统一 flush 检查 — bump when user-home rewrite / author override changes
$rewrite_version = AKSRT_VERSION . ':user-home-profile-routing-v3';
$rewrite_version = AKSRT_VERSION . ':user-home-profile-routing-v4';
$flushed = get_option('aksrt_user_rules_flushed');
$rules = get_option('rewrite_rules');
$need_flush = ($flushed !== $rewrite_version)
@@ -215,6 +218,9 @@ add_filter('request', function ($query_vars) {
if (empty($query_vars['aksrt_user_center']) && isset($_GET['aksrt_user_center'])) {
$query_vars['aksrt_user_center'] = '1';
}
if (empty($query_vars['aksrt_user_auth']) && isset($_GET['aksrt_user_auth'])) {
$query_vars['aksrt_user_auth'] = '1';
}
return $query_vars;
});
@@ -131,6 +131,12 @@ $_aksrt_special_templates = [
'title' => '消息中心',
'fallback' => '/messages/',
],
'user-auth' => [
'file' => 'templates/pages/page-user-auth.php',
'slug' => 'user-auth',
'title' => '官方认证',
'fallback' => '/user-auth/',
],
'submit' => [
'file' => 'templates/pages/page-submit.php',
'slug' => 'submit',
@@ -276,6 +282,7 @@ function aksrt_resolve_page_template_file(string $template_file = '', string $po
'categories' => 'templates/pages/page-categories.php',
'friends' => 'templates/pages/page-friends.php',
'profile' => 'templates/pages/page-profile.php',
'user-auth' => 'templates/pages/page-user-auth.php',
];
if (!empty($slug_map[$post_slug]) && aksrt_locate_template_file($slug_map[$post_slug])) {
@@ -437,6 +444,11 @@ function aksrt_get_current_special_template_path(): string {
return $revenue_template ?: '';
}
if (get_query_var('aksrt_user_auth')) {
$auth_template = aksrt_locate_template_file('templates/pages/page-user-auth.php');
return $auth_template ?: '';
}
if (get_query_var('aksrt_sign')) {
$auth_template = aksrt_get_auth_template_file((string) get_query_var('aksrt_auth_tab'), true);
$auth_template_path = aksrt_locate_template_file($auth_template);
+15
View File
@@ -106,6 +106,21 @@ function aksrt_get_revenue_page_url(): string {
}
endif;
if (!function_exists('aksrt_get_user_auth_page_url')) :
/**
* 官方认证页面 URL。
*/
function aksrt_get_user_auth_page_url(): string {
if (function_exists('aksrt_get_template_url')) {
return aksrt_get_template_url('user-auth');
}
if (get_option('permalink_structure')) {
return home_url('/user-auth/');
}
return add_query_arg('aksrt_user_auth', '1', home_url('/'));
}
endif;
if (!function_exists('aksrt_get_messages_page_url')) :
/**
* 消息中心页面 URL(模板 templates/pages/page-messages.php)。