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>
This commit is contained in:
kate522andClaude Opus 5 committed 2026-11-01 20:05:04 +08:00
1 parent 5b16bc6e15
commit 35bb96e82f
997 files changed
+28216 -28188

No files matched your search

+5 -5
View File
@@ -1,17 +1,17 @@
# AKSRT / Zibll visual reference
# Jio / Zibll visual reference
The reference stack is isolated from the AKSRT site and exposes Zibll at
The reference stack is isolated from the Jio site and exposes Zibll at
https://localhost:9443. The local Zibll source remains read-only.
~~~powershell
$env:ZIBLL_THEME_PATH='C:\Users\Xing\Desktop\zibll'
docker compose -f tests/visual/docker-compose.zibll.yml up -d
docker compose -f tests/visual/docker-compose.zibll.yml run --rm wp core install --url=https://localhost:9443 --title='Zibll Reference' --admin_user=visual_admin --admin_password='AKSRT-Visual-2026!' --admin_email=visual@example.test --skip-email
docker compose -f tests/visual/docker-compose.zibll.yml run --rm wp core install --url=https://localhost:9443 --title='Zibll Reference' --admin_user=visual_admin --admin_password='Jio-Visual-2026!' --admin_email=visual@example.test --skip-email
docker compose -f tests/visual/docker-compose.zibll.yml run --rm wp theme activate zibll
docker compose -f tests/visual/docker-compose.zibll.yml run --rm wp eval-file /visual-fixtures/article-fixtures.php create
~~~
Run the same theme-neutral article generator inside the AKSRT WordPress
Run the same theme-neutral article generator inside the Jio WordPress
container. Mount `tests/visual/` read-only at `/visual-fixtures` in that stack:
~~~powershell
@@ -22,7 +22,7 @@ wp eval-file /visual-fixtures/article-fixtures.php cleanup
The shared generator creates the same authors, category, tag, dates, images,
featured/no-image/multi-image/first-image/external-cover posts, slide and video
metadata, pay/VIP states, sticky state, and interaction counters in both sites.
Fixture-only Zibll and AKSRT metadata are written together so the rendered
Fixture-only Zibll and Jio metadata are written together so the rendered
business state is identical without adding compatibility code to either theme.
Use `tests/visual/article-visual-matrix-v1.json` for the article-only captures.
+12 -12
View File
@@ -1,6 +1,6 @@
<?php
/**
* Theme-neutral article fixtures shared by the Zibll and AKSRT visual sites.
* Theme-neutral article fixtures shared by the Zibll and Jio visual sites.
*
* Usage: wp eval-file /visual-fixtures/article-fixtures.php create|cleanup
*/
@@ -76,7 +76,7 @@ $manifest = [
'files' => [],
'options' => [],
];
foreach (['aksrt_settings', 'zibll_options'] as $option_name) {
foreach (['jio_settings', 'zibll_options'] as $option_name) {
$manifest['options'][$option_name] = [
'exists' => get_option($option_name, null) !== null,
'value' => get_option($option_name),
@@ -110,7 +110,7 @@ try {
'post_related_orderby' => 'views',
'related_title' => '相关推荐',
];
foreach (['aksrt_settings', 'zibll_options'] as $option_name) {
foreach (['jio_settings', 'zibll_options'] as $option_name) {
$current = get_option($option_name, []);
update_option($option_name, array_merge(is_array($current) ? $current : [], $visual_options), false);
}
@@ -123,7 +123,7 @@ try {
foreach ($authors as $author) {
$user_id = wp_insert_user([
'user_login' => $author['login'],
'user_pass' => 'AKSRT-Visual-2026!',
'user_pass' => 'Jio-Visual-2026!',
'user_email' => $author['login'] . '@example.test',
'display_name' => $author['name'],
'description' => '固定作者简介,用于文章卡片视觉对比。',
@@ -197,7 +197,7 @@ try {
$term_other['cover_image'] = $image_urls[4];
update_term_meta($category_id, 'zib_other_data', $term_other);
update_term_meta($category_id, 'cover_image', $image_urls[4]);
update_term_meta($category_id, 'aksrt_category_cover_id', $attachment_ids[4]);
update_term_meta($category_id, 'jio_category_cover_id', $attachment_ids[4]);
$scenarios = [
['slug' => 'featured', 'title' => '特色图文章:标准列表与卡片基线', 'featured' => 0],
@@ -211,7 +211,7 @@ try {
['slug' => 'first-image', 'title' => '文章首图作为缩略图', 'first_image' => 3],
];
foreach ($scenarios as $index => $scenario) {
$content = '<p>固定摘要正文,用于 Zibll 与 AKSRT 的文章列表逐像素比较。</p>';
$content = '<p>固定摘要正文,用于 Zibll 与 Jio 的文章列表逐像素比较。</p>';
if (!empty($scenario['gallery'])) {
$content .= implode('', array_map(static fn(string $url): string => '<img src="' . esc_url($url) . '" alt="">', array_slice($image_urls, 0, 4)));
} elseif (isset($scenario['first_image'])) {
@@ -262,15 +262,15 @@ try {
$zib_meta['views'] = 1200 + ($index * 137);
$zib_meta['like'] = 30 + ($index * 7);
update_post_meta($post_id, 'zib_other_data', $zib_meta);
update_post_meta($post_id, 'aksrt_post_meta', $post_meta);
update_post_meta($post_id, 'aksrt_post_views', $zib_meta['views']);
update_post_meta($post_id, '_aksrt_like_count', $zib_meta['like']);
update_post_meta($post_id, '_aksrt_favorite_count', 10 + $index);
update_post_meta($post_id, 'jio_post_meta', $post_meta);
update_post_meta($post_id, 'jio_post_views', $zib_meta['views']);
update_post_meta($post_id, '_jio_like_count', $zib_meta['like']);
update_post_meta($post_id, '_jio_favorite_count', 10 + $index);
$pay_type = (string) ($scenario['pay'] ?? 'no');
$pay_limit = $pay_type === 'vip' ? 2 : 0;
$pay_price = $pay_type === 'reading' ? 19.9 : 0;
update_post_meta($post_id, '_aksrt_pay', [
update_post_meta($post_id, '_jio_pay', [
'pay_type' => $pay_type,
'pay_modo' => '0',
'price' => $pay_price,
@@ -287,7 +287,7 @@ try {
stick_post((int) $manifest['posts'][0]);
}
update_option($manifest_key, $manifest, false);
WP_CLI::success('Created identical Zibll/AKSRT article fixtures.');
WP_CLI::success('Created identical Zibll/Jio article fixtures.');
} catch (Throwable $error) {
$cleanup($manifest);
WP_CLI::error('Fixture creation rolled back: ' . $error->getMessage());
+1 -1
View File
@@ -1,5 +1,5 @@
{
"schema": "aksrt.zibll-article-visual-matrix.v1",
"schema": "jio.zibll-article-visual-matrix.v1",
"reference": "https://localhost:9443",
"candidate": "https://localhost",
"fixture": "/visual-fixtures/article-fixtures.php",
+1 -1
View File
@@ -1,4 +1,4 @@
name: aksrt-zibll-visual-reference
name: jio-zibll-visual-reference
services:
db:
+1 -1
View File
@@ -1,5 +1,5 @@
{
"schema": "aksrt.zibll-article-baseline.v1",
"schema": "jio.zibll-article-baseline.v1",
"referencePath": "C:\\Users\\Xing\\Desktop\\zibll",
"theme": "Zibll",
"version": "9.0",