进行了一些小修复
This commit is contained in:
+104
-67
@@ -111,18 +111,6 @@ trait ScriptsPart1b {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Print stylesheet — only load on singular pages
|
||||
if (is_singular()) {
|
||||
wp_enqueue_style(
|
||||
'aksrt-print',
|
||||
$base_uri . '/assets/css/frontend/print.css',
|
||||
[],
|
||||
$version,
|
||||
'print'
|
||||
);
|
||||
}
|
||||
|
||||
// 4b. 路由判定
|
||||
$is_home_or_archive = is_home() || is_front_page() || is_archive() || is_search();
|
||||
// 资源单页(post + _aksrt_is_resource)
|
||||
@@ -166,6 +154,23 @@ trait ScriptsPart1b {
|
||||
|
||||
// CMS route detection.
|
||||
$is_cms_mode = function_exists('aksrt_is_cms_mode') ? aksrt_is_cms_mode() : false;
|
||||
$singular_assets = $this->resolve_singular_asset_requirements(
|
||||
$is_single_post,
|
||||
$is_single_resource,
|
||||
$is_paid_content_single
|
||||
);
|
||||
|
||||
if (!empty($singular_assets['needs_print'])) {
|
||||
$print_path = get_template_directory() . '/assets/css/frontend/print.css';
|
||||
wp_enqueue_style(
|
||||
'aksrt-print',
|
||||
$base_uri . '/assets/css/frontend/print.css',
|
||||
[],
|
||||
file_exists($print_path) ? (string) filemtime($print_path) : $version,
|
||||
'print'
|
||||
);
|
||||
}
|
||||
|
||||
// 首页/归档/搜索:卡片 + 侧栏
|
||||
if ($is_home_or_archive && !$is_fixed_homepage) {
|
||||
$enqueue_module('post-card');
|
||||
@@ -173,55 +178,78 @@ trait ScriptsPart1b {
|
||||
$enqueue_module('breadcrumb');
|
||||
}
|
||||
|
||||
// 单篇文章:所有 single 相关样式
|
||||
if ($is_single_post) {
|
||||
// Prefer discrete enqueues over CSS @import (cache-bust + parallel load).
|
||||
$single_parts = [
|
||||
'legacy-utilities',
|
||||
'single-post/shell',
|
||||
'single-post/content',
|
||||
'single-post/code-blocks',
|
||||
'single-post/navigation',
|
||||
'single-post/cover',
|
||||
'single-post/author-actions',
|
||||
'single-post/related-toc',
|
||||
'single-post/hidden-content',
|
||||
];
|
||||
$single_dep = $deps[0] ?? $core_dep;
|
||||
foreach ($single_parts as $part) {
|
||||
$path = get_template_directory() . '/assets/css/frontend/' . $part . '.css';
|
||||
if (!file_exists($path)) {
|
||||
continue;
|
||||
}
|
||||
wp_enqueue_style(
|
||||
'aksrt-' . str_replace('/', '-', $part),
|
||||
$base_uri . '/assets/css/frontend/' . $part . '.css',
|
||||
is_string($single_dep) ? [$single_dep] : (array) $deps,
|
||||
filemtime($path) ?: $version
|
||||
);
|
||||
}
|
||||
// Keep aggregator handle for any third-party deps that target it.
|
||||
$enqueue_module('single-post');
|
||||
$enqueue_module('post-card'); // 相关推荐使用 post-card 局部样式
|
||||
// Comments pack (legacy 1:1 discrete files).
|
||||
$comment_parts = ['comments/shell', 'comments/mobile-item'];
|
||||
$comment_dep = $deps[0] ?? $core_dep;
|
||||
foreach ($comment_parts as $part) {
|
||||
$path = get_template_directory() . '/assets/css/frontend/' . $part . '.css';
|
||||
if (!file_exists($path)) {
|
||||
continue;
|
||||
}
|
||||
wp_enqueue_style(
|
||||
'aksrt-' . str_replace('/', '-', $part),
|
||||
$base_uri . '/assets/css/frontend/' . $part . '.css',
|
||||
is_string($comment_dep) ? [$comment_dep] : (array) $deps,
|
||||
filemtime($path) ?: $version
|
||||
);
|
||||
}
|
||||
$enqueue_module('comments'); // aggregator handle for third-party deps
|
||||
$enqueue_module('sidebar');
|
||||
$enqueue_module('breadcrumb');
|
||||
}
|
||||
// Normal articles: one small core bundle plus content/settings-driven feature leaves.
|
||||
if ($is_single_post && !empty($singular_assets['is_article'])) {
|
||||
$single_filename = file_exists(get_template_directory() . '/assets/css/build/single.min.css')
|
||||
? 'single.min.css'
|
||||
: 'single.css';
|
||||
$single_path = get_template_directory() . '/assets/css/build/' . $single_filename;
|
||||
wp_enqueue_style(
|
||||
'aksrt-single-core',
|
||||
$base_uri . '/assets/css/build/' . $single_filename,
|
||||
[$core_dep],
|
||||
file_exists($single_path) ? (string) filemtime($single_path) : $version
|
||||
);
|
||||
|
||||
$single_features = [
|
||||
'has_code' => 'single-post/code-blocks',
|
||||
'needs_navigation' => 'single-post/navigation',
|
||||
'needs_cover' => 'single-post/cover',
|
||||
'needs_related_toc' => 'single-post/related-toc',
|
||||
'has_hidden_content' => 'single-post/hidden-content',
|
||||
];
|
||||
$single_feature_handles = [];
|
||||
foreach ($single_features as $requirement => $part) {
|
||||
if (empty($singular_assets[$requirement])) {
|
||||
continue;
|
||||
}
|
||||
$path = get_template_directory() . '/assets/css/frontend/' . $part . '.css';
|
||||
if (!file_exists($path)) {
|
||||
continue;
|
||||
}
|
||||
$handle = 'aksrt-' . str_replace('/', '-', $part);
|
||||
wp_enqueue_style(
|
||||
$handle,
|
||||
$base_uri . '/assets/css/frontend/' . $part . '.css',
|
||||
['aksrt-single-core'],
|
||||
(string) filemtime($path)
|
||||
);
|
||||
$single_feature_handles[] = $handle;
|
||||
}
|
||||
|
||||
// Preserve the public aggregate handle without requesting its @import file.
|
||||
wp_register_style(
|
||||
'aksrt-single-post',
|
||||
false,
|
||||
array_merge(['aksrt-single-core'], $single_feature_handles),
|
||||
$version
|
||||
);
|
||||
wp_enqueue_style('aksrt-single-post');
|
||||
|
||||
if (!empty($singular_assets['needs_post_card'])) {
|
||||
$enqueue_module('post-card');
|
||||
}
|
||||
|
||||
if (!empty($singular_assets['needs_comments'])) {
|
||||
$comments_filename = file_exists(get_template_directory() . '/assets/css/build/comments.min.css')
|
||||
? 'comments.min.css'
|
||||
: 'comments.css';
|
||||
$comments_path = get_template_directory() . '/assets/css/build/' . $comments_filename;
|
||||
wp_enqueue_style(
|
||||
'aksrt-comments',
|
||||
$base_uri . '/assets/css/build/' . $comments_filename,
|
||||
['aksrt-single-post'],
|
||||
file_exists($comments_path) ? (string) filemtime($comments_path) : $version
|
||||
);
|
||||
}
|
||||
|
||||
if (!empty($singular_assets['needs_sidebar'])) {
|
||||
$enqueue_module('sidebar');
|
||||
}
|
||||
if (!empty($singular_assets['needs_breadcrumb'])) {
|
||||
$enqueue_module('breadcrumb');
|
||||
}
|
||||
}
|
||||
|
||||
// 静态页面 + 用户中心 + 友链等
|
||||
if ($is_static_page) {
|
||||
@@ -516,9 +544,8 @@ trait ScriptsPart1b {
|
||||
}
|
||||
}
|
||||
|
||||
// Unified share-data builder — single payload assembler for every share
|
||||
// surface (dropdown, copy, WeChat, poster). Loaded on any singular view.
|
||||
if (is_singular()) {
|
||||
// Unified share-data builder — only when the article renders share controls.
|
||||
if (!empty($singular_assets['needs_share'])) {
|
||||
$share_data_js = get_template_directory() . '/assets/js/share-data-builder.js';
|
||||
if (file_exists($share_data_js)) {
|
||||
wp_enqueue_script(
|
||||
@@ -531,8 +558,8 @@ trait ScriptsPart1b {
|
||||
}
|
||||
}
|
||||
|
||||
// 单篇文章 — poster-share.js(海报分享按钮)
|
||||
if (is_singular('post')) {
|
||||
// Poster generation is part of the article share dropdown.
|
||||
if (!empty($singular_assets['needs_share'])) {
|
||||
$poster_js = get_template_directory() . '/assets/js/poster-share.js';
|
||||
if (file_exists($poster_js)) {
|
||||
wp_enqueue_script(
|
||||
@@ -650,7 +677,17 @@ trait ScriptsPart1b {
|
||||
}
|
||||
}
|
||||
|
||||
$this->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);
|
||||
$this->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,
|
||||
$singular_assets
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user