- Trait-split content-pay, vip-service, balance-service, order-repository - Procedural split of user module into user-parts/* - Split scripts enqueue_public into part-1b/1c; settings bulk trait - Bootstrap: explicit notifications, widgets glob-only, home-modules init - ADR: freeze domain placement for pay/revenue/notify boundaries
422 lines
29 KiB
PHP
422 lines
29 KiB
PHP
<?php
|
||
/**
|
||
* AKSRT Theme Bootstrap Loader
|
||
*
|
||
* 统一加载入口:辅助函数 → 类文件 → 实例初始化
|
||
* 类文件按领域目录组织(inc/classes/{domain}/),路径集中在此维护。
|
||
*
|
||
* @package AKSRT
|
||
* @version 3.4.0
|
||
*/
|
||
|
||
defined('ABSPATH') || exit;
|
||
|
||
// ============================================================
|
||
// 翻译加载延迟到 after_setup_theme(WordPress 6.7+ 要求)
|
||
// 由 AKSRT_Setup::load_textdomain() 处理
|
||
// ============================================================
|
||
|
||
// ============================================================
|
||
// 阶段1:加载辅助函数(必须在类之前,类会调用这些函数)
|
||
// ============================================================
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-icons.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-domain-model.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-template-tags.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-frontend-tags.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-flow.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-homepage.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-single-components.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-single.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-yiyan.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-single-render.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-archive.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-archive-filters.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-comments.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-forum.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-slider.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-vip.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-auth-ui.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-i18n-switch.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-posts-renderer.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-resource.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-pay.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-coupon-order.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-credits.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-null.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-identity.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-rewards.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/menu-decoration.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/class-aksrt-nav-walker.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-transactions.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-commerce.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-user-dashboard.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-user-center.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-user-home.php';
|
||
require_once AKSRT_DIR . '/inc/helpers/aksrt-shortcodes.php';
|
||
|
||
|
||
// ============================================================
|
||
// 阶段2:加载类文件(settings 必须在 admin 之前)
|
||
// 领域目录:core / frontend / settings / admin / auth / user /
|
||
// credits / content / payment / forum / shop / sms / ai /
|
||
// messages / extensions / widgets
|
||
// ============================================================
|
||
|
||
// --- core: setup / scripts / frontend render helpers ---
|
||
require_once AKSRT_DIR . '/inc/classes/core/setup-traits/trait-aksrt-setup-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/setup-traits/trait-aksrt-setup-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-setup.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/scripts-traits/trait-aksrt-scripts-part-1b.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/scripts-traits/trait-aksrt-scripts-part-1c.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/scripts-traits/trait-aksrt-scripts-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-scripts.php';
|
||
require_once AKSRT_DIR . '/inc/classes/frontend/class-aksrt-inline-style-builder.php';
|
||
require_once AKSRT_DIR . '/inc/classes/frontend/class-aksrt-custom-code-renderer.php';
|
||
require_once AKSRT_DIR . '/inc/classes/frontend/class-aksrt-loading-overlay-renderer.php';
|
||
|
||
// --- settings: groups + runtime delegates + facade ---
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-domain-groups.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-display-page-groups.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-credits-payment-groups.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-category-integration-groups.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/trait-aksrt-settings-auth-reader.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/trait-aksrt-settings-homepage-reader.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-mail.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-theme-search.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-post-display.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-home-cms.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-payment-runtime.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-display-runtime.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-category-runtime.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-user-runtime.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-credits-runtime.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-integration.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-extension-runtime.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-forum-shop.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-capabilities.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/trait-aksrt-settings-facade-bulk.php';
|
||
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings.php';
|
||
|
||
// --- admin: SPA controllers + schema + native ops ---
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-controller-base.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-user-controller-invite-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-user-controller-report-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-user-controller-verify-integrations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-user-controller-auth-phone-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-user-controller-restriction-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-user-controller-follow-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller-product-admin-columns.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller-frontend-flow-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller-product-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller-order-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller-fulfillment-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller-coupon-gateway-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller-variant-export-operations.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/global-ctrl-traits/trait-aksrt-admin-global-controller-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/global-ctrl-traits/trait-aksrt-admin-global-controller-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/global-ctrl-traits/trait-aksrt-admin-homepage-settings-rest.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-global-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-page-display-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-post-list-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-permissions-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-user-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-payment-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-tools-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-schema-provider.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-global.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-page-display.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/post-list/class-aksrt-admin-schema-post-list-list.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-post-list.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-permissions.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-users.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-payment.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-extensions-ip.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-extensions-audit.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-extensions-push.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-extensions-security.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-extensions-docs-mode.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-extensions.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-tools-import-export.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-tools-health.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-tools-backup.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-tools-email-rollback.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-tools.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop-basic.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop-list.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop-contact.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop-single.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop-product-defaults.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop-shipping-config.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop-timing.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-shop.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-basic.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-names.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-homepage.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-board-page.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-post-page.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-reply.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-permissions.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-other.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-upload.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum-credits.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/schema/class-aksrt-admin-schema-forum.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/import-export-traits/trait-aksrt-admin-import-export-controller-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/import-export-traits/trait-aksrt-admin-import-export-controller-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-import-export-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-shop-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/forum-ctrl-traits/trait-aksrt-admin-forum-controller-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/forum-ctrl-traits/trait-aksrt-admin-forum-controller-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-forum-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-extension-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-comment-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-message-controller.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-menus.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-coupons.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-charge-cards.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-shipping.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-after-sale.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-orders.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-products.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-download-logs.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-withdrawals.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-income.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-pay-rebate.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/native/class-aksrt-admin-users-menus.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin.php';
|
||
|
||
// --- core: presentation / infra shells used by admin + front ---
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-comment-actions.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-go-redirect.php';
|
||
require_once AKSRT_DIR . '/inc/classes/messages/class-aksrt-site-notice.php';
|
||
require_once AKSRT_DIR . '/inc/classes/extensions/class-aksrt-api-audit.php';
|
||
require_once AKSRT_DIR . '/inc/classes/extensions/class-aksrt-meilisearch.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-update-checker.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-category-rewrite.php';
|
||
|
||
// --- auth ---
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-auth-email-verification.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/auth-traits/trait-aksrt-auth-service-part-1a.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/auth-traits/trait-aksrt-auth-service-part-1b.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-auth-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/oauth-traits/trait-aksrt-oauth-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/oauth-traits/trait-aksrt-oauth-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-oauth.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-oauth-proxy-client.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-oauth-proxy-server.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-captcha.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/moderation-traits/trait-aksrt-moderation-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/moderation-traits/trait-aksrt-moderation-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-moderation.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-auth-router.php';
|
||
require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-email-rollback.php';
|
||
|
||
// --- user ---
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-notifications.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-center.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-home.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-restriction.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-credits-admin.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-balance-admin.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-badges.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-badges-admin.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-level.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-metrics.php';
|
||
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-follow.php';
|
||
|
||
// --- core: templates + stats + DB migrator ---
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-templates.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-stats-tracker.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/db-traits/trait-aksrt-db-migrator-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/db-traits/trait-aksrt-db-migrator-part-3.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-db-migrator.php';
|
||
|
||
// --- credits / wallet ---
|
||
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-credits.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-balance.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/balance-service-traits/trait-aksrt-balance-service-rest.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/balance-service-traits/trait-aksrt-balance-service-charge.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/balance-service-traits/trait-aksrt-balance-service-points.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-balance-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-points-free.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-credits-earn.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-signin.php';
|
||
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-invite.php';
|
||
|
||
// --- content pay / download / VIP ---
|
||
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-download.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/content-pay-traits/trait-aksrt-content-pay-rest.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/content-pay-traits/trait-aksrt-content-pay-orders.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/content-pay-traits/trait-aksrt-content-pay-helpers.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-content-pay.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-topic-pay.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-plate-follow-pay.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/vip-service-traits/trait-aksrt-vip-service-rest.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/vip-service-traits/trait-aksrt-vip-service-purchase.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/vip-service-traits/trait-aksrt-vip-service-packages.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-vip-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-download-state.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-docs-presenter.php';
|
||
// CMS 首页模块(预览 REST + 默认模板;模板主路径仍在 helpers)
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-home-modules.php';
|
||
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-content-visibility.php';
|
||
|
||
// --- extensions ---
|
||
require_once AKSRT_DIR . '/inc/classes/extensions/class-aksrt-ip-geo.php';
|
||
require_once AKSRT_DIR . '/inc/classes/extensions/class-aksrt-content-audit.php';
|
||
require_once AKSRT_DIR . '/inc/classes/extensions/class-aksrt-search-push.php';
|
||
|
||
// --- sms ---
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms-signature-helper.php';
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms-provider.php';
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms-provider-aliyun.php';
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms-provider-tencent.php';
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms-provider-huawei.php';
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms-provider-custom.php';
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms-provider-factory.php';
|
||
require_once AKSRT_DIR . '/inc/classes/sms/class-aksrt-sms.php';
|
||
|
||
// --- payment ---
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-wechat-notify.php';
|
||
require_once AKSRT_DIR . '/inc/classes/messages/class-aksrt-message.php';
|
||
require_once AKSRT_DIR . '/inc/classes/messages/class-aksrt-private-message.php';
|
||
require_once AKSRT_DIR . '/inc/classes/messages/class-aksrt-report-center.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-coupon.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-order.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/order-repository-traits/trait-aksrt-order-repository-core.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/order-repository-traits/trait-aksrt-order-repository-admin.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-order-repository.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-payment-gateway.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/gateways/class-aksrt-alipay-gateway.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/gateways/class-aksrt-wechatpay-gateway.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/gateways/class-aksrt-paypal-gateway.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/gateways/class-aksrt-stripe-gateway.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-revenue.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-creator-revenue.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-withdrawal.php';
|
||
|
||
// --- core: front submit ---
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-front-submit.php';
|
||
|
||
// --- forum ---
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-permission-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-draft-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-comment-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-score-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/board-service-traits/trait-aksrt-forum-board-service-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/board-service-traits/trait-aksrt-forum-board-service-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/board-service-traits/trait-aksrt-forum-board-service-part-3.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-board-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/topic-service-traits/trait-aksrt-forum-topic-service-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/topic-service-traits/trait-aksrt-forum-topic-service-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/topic-service-traits/trait-aksrt-forum-topic-service-part-3.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/topic-service-traits/trait-aksrt-forum-topic-service-part-4.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-topic-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-moderation-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/view-builder-traits/trait-aksrt-forum-view-builder-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/view-builder-traits/trait-aksrt-forum-view-builder-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum-view-builder.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-forum.php';
|
||
|
||
// --- shop ---
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-shop-cart-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-shop-checkout-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-shop-address-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-shop-product-service.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-product-meta-box.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-product-variants-meta-box.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-plate-meta-box.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-topic-admin-list.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-topic-meta-box.php';
|
||
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-plate-admin-list.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/shop-traits/trait-aksrt-shop-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/shop-traits/trait-aksrt-shop-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/shop-traits/trait-aksrt-shop-part-3.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-shop.php';
|
||
|
||
// --- payment: after-sale / shipping / charge-card / rebate / discount ---
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-after-sale.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/shipping-traits/trait-aksrt-shipping-part-1.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/shipping-traits/trait-aksrt-shipping-part-2.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-shipping.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-charge-card.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-rebate.php';
|
||
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-discount.php';
|
||
|
||
// --- ai ---
|
||
require_once AKSRT_DIR . '/inc/classes/ai/class-aksrt-ai.php';
|
||
require_once AKSRT_DIR . '/inc/classes/ai/class-aksrt-ai-seo.php';
|
||
require_once AKSRT_DIR . '/inc/classes/ai/class-aksrt-ai-prompt.php';
|
||
require_once AKSRT_DIR . '/inc/classes/admin/class-aksrt-admin-ai-controller.php';
|
||
|
||
// --- core: SEO / term / post meta boxes ---
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-seo-meta-box.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-seo-head.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-term-meta.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-shop-term-meta.php';
|
||
require_once AKSRT_DIR . '/inc/classes/shop/class-aksrt-product-review.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-post-meta-box.php';
|
||
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-resource-meta-box.php';
|
||
|
||
// --- widgets ---
|
||
// 包文件(多 widget 合一)+ 独立 widget 文件 + 注册中心。
|
||
// 使用单一 glob:目录内所有 class-*.php(含 original/new/batch1/registry)。
|
||
// require_once 幂等;新增 widget 只需丢进 widgets/ 即可被加载。
|
||
$aksrt_widgets_dir = AKSRT_DIR . '/inc/classes/widgets/';
|
||
if (is_dir($aksrt_widgets_dir)) {
|
||
foreach (glob($aksrt_widgets_dir . 'class-*.php') as $aksrt_widget_file) {
|
||
require_once $aksrt_widget_file;
|
||
}
|
||
}
|
||
|
||
// ============================================================
|
||
// 阶段3:核心功能模块(Gravatar替换 / SMTP邮件)
|
||
// ============================================================
|
||
require_once AKSRT_DIR . '/inc/core-hooks.php';
|
||
|
||
// ============================================================
|
||
// 阶段4:邮箱验证 — 启动 Auth Service 全局钩子(authenticate 拦截)
|
||
// ============================================================
|
||
if (class_exists('AKSRT_Auth_Service')) {
|
||
AKSRT_Auth_Service::init();
|
||
}
|
||
|
||
// ============================================================
|
||
// 阶段5:邮箱验证 — 一次性 backfill(幂等)+ cron 异步回填
|
||
// 兼容站点已通过 SQL 直接打开开关、未走 REST 保存路径的情况。
|
||
// ============================================================
|
||
add_action('init', function () {
|
||
// 紧急降级:直接跳过迁移
|
||
if (defined('AKSRT_NO_EMAIL_GATE') && AKSRT_NO_EMAIL_GATE) {
|
||
return;
|
||
}
|
||
if (!class_exists('AKSRT_Auth_Service') || !class_exists('AKSRT_Settings')) {
|
||
return;
|
||
}
|
||
if (!AKSRT_Settings::registration_requires_email_verification()) {
|
||
return;
|
||
}
|
||
if (get_option('aksrt_email_verification_backfill_done')) {
|
||
return;
|
||
}
|
||
// 在 admin 上下文下不要拖慢前台,仅 admin/cron 触发
|
||
if (!is_admin() && !(defined('DOING_CRON') && DOING_CRON)) {
|
||
return;
|
||
}
|
||
AKSRT_Auth_Service::backfill_legacy_users_as_verified();
|
||
}, 5);
|
||
|
||
// 异步分批回填的 cron 钩子(仅在用户量 > 50000 时使用)
|
||
add_action('aksrt_email_verification_backfill_batch', function ($offset = 0) {
|
||
if (class_exists('AKSRT_Auth_Service')) {
|
||
AKSRT_Auth_Service::run_async_backfill_batch((int) $offset);
|
||
}
|
||
}, 10, 1);
|
||
|
||
// ============================================================
|
||
// 阶段6:设置迁移 — 将旧 option key 映射到新 Schema 结构
|
||
// 仅在后台上下文执行,前台不触发。
|
||
// ============================================================
|
||
add_action('admin_init', function () {
|
||
}, 5);
|