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:
1 parent
3baa8573c9
commit
59901bdc26
4 files changed
+58
-4
No files matched your search
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user