fix(orders): route /orders without WP page (404)

Register commerce rewrite aliases and special-template bootstrap so
/orders loads page-orders even when no page is assigned; flush rules.
This commit is contained in:
kate522 committed 2026-07-25 13:40:56 +08:00
1 parent 3baa8573c9
commit 59901bdc26
4 files changed
+58 -4

No files matched your search

+11 -1
View File
@@ -15,6 +15,9 @@ defined('ABSPATH') || exit;
add_filter('query_vars', function ($vars) {
$vars[] = 'aksrt_user_center';
$vars[] = 'user_nicename';
$vars[] = 'aksrt_orders';
$vars[] = 'aksrt_cart';
$vars[] = 'aksrt_revenue';
return $vars;
});
@@ -36,8 +39,15 @@ add_action('template_redirect', function () {
add_action('init', function () {
add_rewrite_tag('%aksrt_user_center%', '([^&]+)');
add_rewrite_tag('%user_nicename%', '([^/]+)');
add_rewrite_tag('%aksrt_orders%', '([0-1])');
add_rewrite_tag('%aksrt_cart%', '([0-1])');
add_rewrite_tag('%aksrt_revenue%', '([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');
});
// --- 3b. 统一模板拦截器(核心)---
@@ -145,7 +155,7 @@ add_action('init', function () {
}
// 统一 flush 检查
$rewrite_version = AKSRT_VERSION . ':sign-profile-routing-v1';
$rewrite_version = AKSRT_VERSION . ':orders-cart-revenue-routing-v1';
$flushed = get_option('aksrt_user_rules_flushed');
if ($flushed !== $rewrite_version) {
flush_rewrite_rules(false);