feat: deepen single post experience

This commit is contained in:
kate522 committed 2026-07-28 02:07:10 +08:00
1 parent a00db4538f
commit 2086f938ed
8 files changed
+265 -81

No files matched your search

+35 -44
View File
@@ -176,6 +176,15 @@ if (!function_exists('aksrt_single_render_box_header')) :
'show_time' => empty($settings['hide_time']),
'meta_html' => empty($ctx['show_cover']) ? (string) ($ctx['meta_box_html'] ?? '') : '',
]);
$reading_meta = is_array($ctx['meta_items_secondary'] ?? null) ? $ctx['meta_items_secondary'] : [];
if ($reading_meta !== []) :
?>
<div class="article-reading-meta" aria-label="<?php esc_attr_e('阅读信息', 'aksrt'); ?>">
<?php foreach ($reading_meta as $item) : ?>
<span><i class="<?php echo esc_attr((string) ($item['icon'] ?? 'far fa-file-alt')); ?>" aria-hidden="true"></i><?php echo esc_html((string) ($item['text'] ?? '')); ?></span>
<?php endforeach; ?>
</div>
<?php endif; ?>
?>
</div>
<?php
@@ -389,9 +398,19 @@ if (!function_exists('aksrt_single_render_author_card')) :
$q['post__not_in'] = [(int) $cur];
}
if ($card_orderby === 'views') {
$q['meta_key'] = 'views';
$q['orderby'] = 'meta_value_num';
$q['order'] = 'DESC';
$q['meta_query'] = [
'relation' => 'OR',
'views_value' => [
'key' => 'aksrt_post_views',
'compare' => 'EXISTS',
'type' => 'NUMERIC',
],
'views_missing' => [
'key' => 'aksrt_post_views',
'compare' => 'NOT EXISTS',
],
];
$q['orderby'] = ['views_value' => 'DESC', 'date' => 'DESC'];
} elseif ($card_orderby === 'comment_count') {
$q['orderby'] = 'comment_count';
$q['order'] = 'DESC';
@@ -657,8 +676,19 @@ if (!function_exists('aksrt_single_related_query_args')) :
$args['orderby'] = 'modified';
break;
case 'views':
$args['meta_key'] = 'aksrt_post_views';
$args['orderby'] = 'meta_value_num';
$args['meta_query'] = [
'relation' => 'OR',
'views_value' => [
'key' => 'aksrt_post_views',
'compare' => 'EXISTS',
'type' => 'NUMERIC',
],
'views_missing' => [
'key' => 'aksrt_post_views',
'compare' => 'NOT EXISTS',
],
];
$args['orderby'] = ['views_value' => 'DESC', 'date' => 'DESC'];
break;
case 'relevance':
default:
@@ -938,42 +968,3 @@ if (!function_exists('aksrt_single_render_after_box')) :
}
endif;
if (!function_exists('aksrt_single_render_aside')) :
/**
* Page-owned single aside (not a generic sidebar prepend hack).
*
* @param array<string,mixed> $ctx Single context.
*/
function aksrt_single_render_aside(array $ctx): void {
if (empty($ctx['show_aside']) || wp_is_mobile()) {
return;
}
?>
<div class="sidebar" role="complementary" aria-label="<?php esc_attr_e('侧栏', 'aksrt'); ?>">
<?php if (!empty($ctx['has_download'])) : ?>
<?php get_template_part('templates/parts/resource-meta-box'); ?>
<?php endif; ?>
<?php if (!empty($ctx['show_toc'])) : ?>
<div class="zib-widget toc-widget posts-nav-box" data-title="<?php echo esc_attr((string) $ctx['toc_title']); ?>">
<h3><?php echo esc_html((string) $ctx['toc_title']); ?></h3>
<ol class="toc-list"></ol>
</div>
<?php endif; ?>
<?php if (is_active_sidebar('all_sidebar_top')) : ?>
<?php dynamic_sidebar('all_sidebar_top'); ?>
<?php endif; ?>
<?php if (is_active_sidebar('sidebar-article')) : ?>
<?php dynamic_sidebar('sidebar-article'); ?>
<?php endif; ?>
<?php if (is_active_sidebar('all_sidebar_bottom')) : ?>
<?php dynamic_sidebar('all_sidebar_bottom'); ?>
<?php endif; ?>
</div>
<?php
}
endif;