Files
wordpress-theme-aksrt/page.php
T
kate522andClaude Opus 5 35bb96e82f refactor: rename the theme brand and every identifier from AKSRT to Jio
Full-project rename. `git grep -i aksrt` is now empty apart from the
DBMigrator 3.3.0 changelog note that documents the rename itself.

Code identifiers
- PHP namespace AKSRT\ -> Jio\ (composer PSR-4 + 378 declarations)
- global constants AKSRT_* -> JIO_* (VERSION/DIR/URI, PAY_TYPE_*, CAPTCHA_*)
- procedural functions, hooks, options, meta keys, table names,
  cookies, query vars, ajax actions and nonces: aksrt_ -> jio_
- text domain aksrt -> jio; Theme Name -> Jio
- JS globals: aksrtData/aksrtAdminData/... -> jioData/jioAdminData/...,
  window.AKSRTCaptcha & friends -> window.JioCaptcha, Aksrt* -> Jio*
- Vue components Aks*.vue -> Jio*.vue (15 files renamed + imports)
- CSS classes/data-attrs/custom properties: aksrt- -> jio-
- REST namespace aksrt/v1 -> jio/v1 (incl. payment gateway callbacks)

Storage layer
- DB tables {prefix}aksrt_* -> {prefix}jio_*; SCHEMA_VERSION 3.2.0 -> 3.3.0
  so dbDelta creates the new names on install
- widget id_base aksrt_widget_* -> jio_widget_*
- uninstall.php drop list rebuilt from the actual migrator tables
  (dropped 3 stale entries, added the 17 missing ones)

Removed
- hardcoded https://api.aksrt.com/version.json default update endpoint;
  get_endpoint() now reads the 「更新端点」 setting and do_check() no-ops
  when it is empty

Files renamed: inc/helpers/aksrt-*.php -> jio-*.php (54),
assets/admin/src/components/form/Aks*.vue -> Jio*.vue (15).
Build artifacts regenerated: assets/css/build, assets/js/runtime,
assets/admin/build.

Verified: audit-psr4-paths errors=0, audit-admin-contracts errors=0
(warnings=56, unchanged baseline), 813/813 widget-system tests,
44/44 phpunit, php -l clean across all PHP.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-11-01 20:05:04 +08:00

111 lines
3.6 KiB
PHP

<?php
/**
* 固定页面模板
*
* @package Jio
*/
defined('ABSPATH') || exit;
get_header();
$page_settings = class_exists('\Jio\Settings\Settings')
? \Jio\Settings\Settings::get_post_page_settings()
: ['reading_progress' => false, 'lightbox' => true];
$page_id = get_queried_object_id();
$page_content_style = get_post_meta($page_id, 'page_content_style', true);
$page_content_style = $page_content_style !== '' ? sanitize_html_class($page_content_style) : 'default';
$show_sidebar = function_exists('jio_is_show_sidebar') ? jio_is_show_sidebar() : true;
?>
<?php if (!empty($page_settings['reading_progress'])) : ?>
<div id="reading-progress-global" class="reading-progress-bar" role="progressbar" aria-label="<?php esc_attr_e('阅读进度', 'jio'); ?>" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"></div>
<?php endif; ?>
<?php
// legacy page.php: fluid top OUTSIDE main; main.container + content-wrap/layout + sidebar sibling.
// Do not put content-shell padding/max-width on the dual-column host (breaks float math).
?>
<?php if (is_active_sidebar('page_top_fluid_' . $page_id)) : ?>
<div class="fluid-widget-wrap">
<?php dynamic_sidebar('page_top_fluid_' . $page_id); ?>
</div>
<?php endif; ?>
<main id="main-content" class="site-main container page-content-<?php echo esc_attr($page_content_style); ?> page-id-<?php echo esc_attr((string) $page_id); ?>" tabindex="-1">
<div class="content-wrap">
<div class="content-layout">
<?php if (is_active_sidebar('page_top_content_' . $page_id)) : ?>
<?php dynamic_sidebar('page_top_content_' . $page_id); ?>
<?php endif; ?>
<?php
while (have_posts()) :
the_post();
$page_meta_header_style = get_post_meta(get_the_ID(), 'page_header_style', true);
$ph_style_override = null;
if ($page_meta_header_style !== '' && in_array($page_meta_header_style, ['', '1', '2', '3', 'not'], true)) {
$ph_style_override = ($page_meta_header_style === 'not') ? '' : $page_meta_header_style;
}
$page_cover = (string) get_post_meta(get_the_ID(), 'page_header_cover_img', true);
$header_args = [
'title' => get_the_title(),
];
if ($ph_style_override !== null) {
$header_args['style'] = $ph_style_override;
}
if ($page_cover !== '') {
$header_args['cover'] = esc_url($page_cover);
}
?>
<article <?php post_class('entry-page'); ?>>
<?php get_template_part('templates/parts/page-header', null, $header_args); ?>
<?php if (has_post_thumbnail()) : ?>
<figure class="entry-thumb">
<?php the_post_thumbnail('large'); ?>
</figure>
<?php endif; ?>
<div class="entry-content<?php echo !empty($page_settings['lightbox']) ? ' imgbox-container' : ''; ?>">
<?php the_content(); ?>
<?php
wp_link_pages([
'before' => '<nav class="page-links"><span class="page-links-title">' . esc_html__('分页:', 'jio') . '</span>',
'after' => '</nav>',
]);
?>
</div>
</article>
<?php
// 评论关闭时模板整体不渲染(legacy 行为),无需空卡片。
if (comments_open()) {
echo '<div class="theme-box box-body radius8 main-shadow comments-card">';
comments_template();
echo '</div>';
}
endwhile;
?>
<?php if (is_active_sidebar('page_bottom_content_' . $page_id)) : ?>
<?php dynamic_sidebar('page_bottom_content_' . $page_id); ?>
<?php endif; ?>
</div>
</div>
<?php if ($show_sidebar) : ?>
<?php get_sidebar(); ?>
<?php endif; ?>
</main>
<?php if (is_active_sidebar('page_bottom_fluid_' . $page_id)) : ?>
<div class="fluid-widget-wrap">
<?php dynamic_sidebar('page_bottom_fluid_' . $page_id); ?>
</div>
<?php endif; ?>
<?php
get_footer();