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>
49 lines
1.9 KiB
PHP
49 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* 图片画廊模板
|
|
*
|
|
* 用于文章内嵌画廊块或图片列表展示。
|
|
*
|
|
* @package Jio
|
|
* @since 5.0.0
|
|
*
|
|
* @var array $images 图片数组 [{src, alt, caption, width, height}]
|
|
* @var string $layout 布局: grid / masonry / carousel
|
|
* @var int $columns 列数 (default: 3)
|
|
* @var bool $lightbox 是否启用灯箱 (default: true)
|
|
*/
|
|
|
|
defined('ABSPATH') || exit;
|
|
|
|
$images = $args['images'] ?? [];
|
|
$layout = $args['layout'] ?? 'grid';
|
|
$columns = max(1, min(6, (int) ($args['columns'] ?? 3)));
|
|
$lightbox = $args['lightbox'] ?? true;
|
|
|
|
if (empty($images)) return;
|
|
?>
|
|
|
|
<div class="content-gallery content-gallery--<?php echo esc_attr($layout); ?>" style="--gallery-columns: <?php echo $columns; ?>;">
|
|
<?php foreach ($images as $index => $img) :
|
|
$src = $img['src'] ?? '';
|
|
$alt = $img['alt'] ?? '';
|
|
$caption = $img['caption'] ?? '';
|
|
if (!$src) continue;
|
|
?>
|
|
<figure class="content-gallery__item" data-index="<?php echo $index; ?>">
|
|
<a href="<?php echo $lightbox ? 'javascript:;' : esc_url($src); ?>"
|
|
class="content-gallery__link"
|
|
<?php echo $lightbox ? 'data-imgbox="imgbox" box-img="' . esc_url($src) . '"' : ''; ?>
|
|
data-caption="<?php echo esc_attr($caption); ?>">
|
|
<img<?php echo jio_get_lazy_attr('lazy_posts_content', (string) $src, 'content-gallery__img', jio_get_lazy_thumb('lg')); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
|
|
alt="<?php echo esc_attr($alt); ?>"
|
|
width="<?php echo esc_attr($img['width'] ?? 800); ?>"
|
|
height="<?php echo esc_attr($img['height'] ?? 600); ?>">
|
|
</a>
|
|
<?php if ($caption) : ?>
|
|
<figcaption class="content-gallery__caption"><?php echo esc_html($caption); ?></figcaption>
|
|
<?php endif; ?>
|
|
</figure>
|
|
<?php endforeach; ?>
|
|
</div>
|