进行了一些小修复

This commit is contained in:
2026-08-26 12:35:20 +08:00
parent dc14c29878
commit 065a5bc99c
16 changed files with 3655 additions and 2508 deletions
+18 -50
View File
@@ -13,54 +13,29 @@ trait ScriptsPart1b {
$base_uri = get_template_directory_uri();
$version = AKSRT_VERSION;
$runtime_uri = $base_uri . '/assets';
$fa5_uri = $base_uri . '/assets/fontawesome5';
// Keep the WordPress handle but make its modern core build the only runtime.
$wp_scripts = wp_scripts();
if (isset($wp_scripts->registered['jquery'])) {
$wp_scripts->registered['jquery']->deps = ['jquery-core'];
}
wp_enqueue_script('jquery');
wp_enqueue_script(
'aksrt-passive-events',
$base_uri . '/assets/js/passive-events.js',
[],
$version,
false
);
wp_enqueue_style('_bootstrap', $runtime_uri . '/css/bootstrap.min.css', [], '3.4.1');
wp_enqueue_style('_fontawesome', $fa5_uri . '/css/all.min.css', [], '5.15.4');
wp_enqueue_style('_main', $runtime_uri . '/css/main.min.css', ['_bootstrap', '_fontawesome'], $version);
wp_enqueue_script('bootstrap', $runtime_uri . '/js/runtime/libs/bootstrap.min.js', ['jquery'], '3.4.1', true);
wp_enqueue_style('aksrt-style', get_stylesheet_uri(), ['_main'], $version);
$lazy_animation = class_exists('\AKSRT\Settings\Settings')
? (string) \AKSRT\Settings\Settings::get_value('lazy_animation', 'blur')
: 'blur';
if ($lazy_animation === 'fade') {
wp_add_inline_style('aksrt-style', '.lazyloaded{--lazy-animation:lazy_fade!important;}');
} elseif ($lazy_animation === 'scale') {
wp_add_inline_style('aksrt-style', '.lazyloaded{--lazy-animation:lazy_scale!important;}');
}
$core_bundle = get_template_directory() . '/assets/css/build/core.css';
wp_enqueue_style(
'aksrt-core',
$base_uri . '/assets/css/build/core.css',
['aksrt-style'],
file_exists($core_bundle) ? (string) filemtime($core_bundle) : $version
);
$public_bundle = get_template_directory() . '/assets/css/build/public.css';
wp_enqueue_style(
'aksrt-public',
$base_uri . '/assets/css/build/public.css',
['aksrt-core', '_fontawesome'],
[],
file_exists($public_bundle) ? (string) filemtime($public_bundle) : $version
);
$lazy_animation = class_exists('\AKSRT\Settings\Settings')
? (string) \AKSRT\Settings\Settings::get_value('lazy_animation', 'blur')
: 'blur';
if ($lazy_animation === 'fade') {
wp_add_inline_style('aksrt-public', '.lazyloaded{--lazy-animation:lazy_fade!important;}');
} elseif ($lazy_animation === 'scale') {
wp_add_inline_style('aksrt-public', '.lazyloaded{--lazy-animation:lazy_scale!important;}');
}
$core_dep = 'aksrt-public';
$deps = [$core_dep];
@@ -100,7 +75,7 @@ trait ScriptsPart1b {
&& class_exists('\AKSRT\Settings\Settings')
&& !empty(\AKSRT\Settings\Settings::get_signin_reward_settings()['enabled']);
$vip_coordinator = get_template_directory() . '/assets/js/vip-purchase-coordinator.js';
if (($vip_on || $credits_on || $affiliate_on) && file_exists($vip_coordinator)) {
if ((($vip_on && is_user_logged_in()) || $credits_on || $affiliate_on) && file_exists($vip_coordinator)) {
wp_enqueue_script(
'aksrt-vip-coordinator',
$base_uri . '/assets/js/vip-purchase-coordinator.js',
@@ -111,7 +86,7 @@ trait ScriptsPart1b {
}
// VIP modal (legacy .pay-vip)
if ($vip_on) {
if ($vip_on && is_user_logged_in()) {
$vip_css = get_template_directory() . '/assets/css/frontend/vip-modal.css';
if (file_exists($vip_css)) {
wp_enqueue_style(
@@ -189,7 +164,7 @@ trait ScriptsPart1b {
// CMS route detection.
$is_cms_mode = function_exists('aksrt_is_cms_mode') ? aksrt_is_cms_mode() : false;
// 首页/归档/搜索:卡片 + 侧栏
if ($is_home_or_archive) {
if ($is_home_or_archive && !$is_fixed_homepage) {
$enqueue_module('post-card');
$enqueue_module('sidebar');
$enqueue_module('breadcrumb');
@@ -531,7 +506,7 @@ trait ScriptsPart1b {
wp_enqueue_script(
'aksrt-messages',
$base_uri . '/assets/js/messages.js',
['loader_js'],
['aksrt-runtime'],
(string) filemtime($messages_js),
true
);
@@ -546,7 +521,7 @@ trait ScriptsPart1b {
wp_enqueue_script(
'aksrt-share-data',
$base_uri . '/assets/js/share-data-builder.js',
['loader_js'],
['aksrt-runtime'],
(string) filemtime($share_data_js),
true
);
@@ -560,7 +535,7 @@ trait ScriptsPart1b {
wp_enqueue_script(
'aksrt-poster-share',
$base_uri . '/assets/js/poster-share.js',
['loader_js', 'aksrt-share-data'],
['aksrt-runtime', 'aksrt-share-data'],
(string) filemtime($poster_js),
true
);
@@ -610,18 +585,11 @@ trait ScriptsPart1b {
}
if ($is_fixed_homepage) {
$enqueue_module('post-card');
$homepage_style_deps = ['aksrt-public', 'aksrt-post-card'];
$homepage_style_deps = array_values(array_filter(
$homepage_style_deps,
static fn(string $handle): bool => wp_style_is($handle, 'registered')
));
$homepage_bundle = get_template_directory() . '/assets/css/build/homepage.css';
wp_enqueue_style(
'aksrt-homepage-fixed',
$base_uri . '/assets/css/build/homepage.css',
$homepage_style_deps,
['aksrt-public'],
file_exists($homepage_bundle) ? (string) filemtime($homepage_bundle) : $version
);
}
+10 -36
View File
@@ -19,21 +19,20 @@ trait ScriptsPart1c {
/**
* Fonts / FA / global JS stack / aksrtData (split from enqueue_public).
*/
private function enqueue_public_fonts_js_and_data($base_uri, $core_dep, $deps, $is_fixed_homepage, $is_home_or_archive, $is_single_post, $is_single_resource, $version): void {
private function enqueue_public_fonts_js_and_data($base_uri, $core_dep, $deps, $is_fixed_homepage, $is_home_or_archive, $is_single_post, $is_single_resource, $version): void {
$runtime_uri = $base_uri . '/assets';
$runtime_loader_path = get_template_directory() . '/assets/js/runtime/loader.js';
$runtime_main_path = get_template_directory() . '/assets/js/runtime/main.min.js';
$runtime_loader_version = file_exists($runtime_loader_path) ? (string) filemtime($runtime_loader_path) : $version;
$runtime_version = file_exists($runtime_main_path) ? (string) filemtime($runtime_main_path) : $version;
$public_runtime_path = get_template_directory() . '/assets/js/build/public.js';
wp_enqueue_script(
'loader_js',
$runtime_uri . '/js/runtime/loader.js',
['jquery', 'bootstrap'],
$runtime_loader_version,
'aksrt-runtime',
$base_uri . '/assets/js/build/public.js',
['jquery'],
file_exists($public_runtime_path) ? (string) filemtime($public_runtime_path) : $version,
true
);
wp_localize_script(
'loader_js',
'aksrt-runtime',
'_win',
[
'views' => '',
@@ -82,16 +81,6 @@ trait ScriptsPart1c {
],
]
);
$public_runtime_path = get_template_directory() . '/assets/js/build/public.js';
wp_enqueue_script(
'aksrt-runtime',
$base_uri . '/assets/js/build/public.js',
['loader_js'],
file_exists($public_runtime_path) ? (string) filemtime($public_runtime_path) : $version,
true
);
// AJAX 调试(WP_DEBUG 或 ?aksrt_ajax_debug=1):记录所有失败的
// jQuery ajax / fetch 请求,用于定位 vendor main.min.js 的 400 "0" 来源。
if (function_exists('aksrt_ajax_debug_enabled') && aksrt_ajax_debug_enabled()) {
@@ -133,18 +122,6 @@ trait ScriptsPart1c {
);
}
// Instant page prefetch (hover to preload)
$instant_page_js = get_template_directory() . '/assets/js/instant-page.js';
if (file_exists($instant_page_js)) {
wp_enqueue_script(
'aksrt-instant-page',
$base_uri . '/assets/js/instant-page.js',
[],
(string) filemtime($instant_page_js),
false // load in <head> for early prefetch capability
);
}
// Section navs: article TOC / scrollspy
$section_navs_js = get_template_directory() . '/assets/js/section-navs.js';
if (is_singular() && file_exists($section_navs_js)) {
@@ -321,7 +298,7 @@ trait ScriptsPart1c {
wp_enqueue_script(
'aksrt-weixin-share',
$base_uri . '/assets/js/weixin-share.js',
['loader_js'],
['aksrt-runtime'],
(string) filemtime($weixin_share_path),
true
);
@@ -332,7 +309,7 @@ trait ScriptsPart1c {
wp_enqueue_script(
'aksrt-post-share',
$base_uri . '/assets/js/post-share.js',
['loader_js', 'aksrt-weixin-share', 'aksrt-share-data'],
['aksrt-runtime', 'aksrt-weixin-share', 'aksrt-share-data'],
(string) filemtime($post_share_path),
true
);
@@ -348,10 +325,7 @@ trait ScriptsPart1c {
// 数据注入 - 全站统一消费 window.aksrtData
// Attach to aksrt-runtime (loaded before all core modules) so ajaxUrl/nonce
// exist before pagination/search/article handlers run.
$aksrt_data_handle = wp_script_is('aksrt-runtime', 'registered') || wp_script_is('aksrt-runtime', 'enqueued')
? 'aksrt-runtime'
: 'loader_js';
wp_localize_script($aksrt_data_handle, 'aksrtData', [
wp_localize_script('aksrt-runtime', 'aksrtData', [
'ajaxUrl' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('aksrt_public_nonce'),
'restNonce' => wp_create_nonce('wp_rest'),
+2 -2
View File
@@ -51,8 +51,8 @@ final class AssetManager {
$uri = get_template_directory_uri();
$css = $root . '/assets/widgets/frontend.css';
$js = $root . '/assets/widgets/frontend.js';
wp_register_style(self::STYLE_HANDLE, $uri . '/assets/widgets/frontend.css', ['aksrt-style'], is_file($css) ? (string) filemtime($css) : null);
wp_register_script(self::SCRIPT_HANDLE, $uri . '/assets/widgets/frontend.js', ['loader_js'], is_file($js) ? (string) filemtime($js) : null, true);
wp_register_style(self::STYLE_HANDLE, $uri . '/assets/widgets/frontend.css', ['aksrt-public'], is_file($css) ? (string) filemtime($css) : null);
wp_register_script(self::SCRIPT_HANDLE, $uri . '/assets/widgets/frontend.js', ['aksrt-runtime'], is_file($js) ? (string) filemtime($js) : null, true);
$third_party = $uri . '/assets/widgets/third-party/';
wp_register_script('aksrt-widget-hls', $third_party . 'hls.min.js', [], 'reference-pinned', true);
wp_register_script('aksrt-widget-flv', $third_party . 'flv.min.js', [], 'reference-pinned', true);