chore(branding): remove leftover upstream theme identifiers

The theme was renamed Zibll/子比 → AKSRT → Jio, but upstream branding
survived the sweeps in CSS classes, the SVG sprite prefix, a persisted
widget field ID, JS events, admin Vue class names, test infrastructure
and docblocks.

Renames:
- zib-widget / zib-widget-wrap / zib-slider → jio-widget-box /
  jio-widget-box-wrap / jio-slider-box (jio-widget is taken by the modern
  widget shell, jio-box-* by the card primitives)
- zib-partners-scroll + zps-* → jio-partners-scroll + jps-*
- zib-combo-info-card + zci-* → jio-combo-info-card + jci-*
- zibsvg- → jiosvg-, including the exported picker helpers and the
  fa-zibsvg- family-prefix guard
- zibpay_type → pay_type; the dual-read fallback in PostQuery collapses
  to a single key
- [zibajax="submit"] dropped (no PHP emitter); zib_ajax.success →
  jio_ajax.success
- aks-* admin Vue classes → jio-*
- zib_palette() → palette()

User-facing vendor traces are gone: the floating "more" button default no
longer ships a zibll.com link or 子比主题 marketing copy, the notice
widget ships no preset promo entries, and the four 官网教程 links are
removed from the post-list admin schema.

Test infrastructure renamed to neutral names (docker-compose.reference.yml,
Caddyfile, article-baseline.json, modern-widgets-contract.test.cjs) with
their DB/volume/env/slug identifiers following.

Kept intentionally, documented in tests/fixtures/README.md: the golden
fixture reference fingerprint (a SHA-256 record of an external directory,
read by validate-widget-golden / generate-widget-golden-fixture /
audit-widget-system), the doesNotMatch guards that prove the old tokens are
gone, and the reference theme's own meta key in the visual fixtures.

No backward-compat or data migration: saved widget configs holding old
icon keys or the old field ID silently lose them, per the project's
rewrite-over-compatibility rule.

Verified: 132/132 node contract tests, php tests/widget-system/run.php
(146 assertions), audit-admin-contracts, audit-psr4-paths and
validate-widget-golden all green; tracked bundles regenerated and in sync.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Opus 5 committed 2026-11-02 00:06:54 +08:00
1 parent 42cc64106d
commit 427968a721
188 files changed
+915 -967

No files matched your search

+1 -1
View File
@@ -11,7 +11,7 @@ $settings = $ctx['settings'];
$edit_post = $ctx['edit_post'];
$is_can_new = !empty($ctx['is_can_new']);
?>
<div class="zib-widget full-widget-sm editor-main-box" style="min-height:60vh;">
<div class="jio-widget-box full-widget-sm editor-main-box" style="min-height:60vh;">
<?php
$featured_path = get_template_directory() . '/templates/parts/submit/featured.php';
if (file_exists($featured_path)) {
+1 -1
View File
@@ -24,7 +24,7 @@ if (!function_exists('jio_submit_pay_line')) {
}
}
?>
<div class="zib-widget dependency-box mb10-sm newpost-pay-box" data-pay-box>
<div class="jio-widget-box dependency-box mb10-sm newpost-pay-box" data-pay-box>
<div class="title-theme mb10"><?php esc_html_e('付费内容', 'jio'); ?></div>
<div class="flex ac jsb padding-h10 border-bottom">
<div class="flex ac"><?php esc_html_e('内容付费', 'jio'); ?></div>
+1 -1
View File
@@ -8,7 +8,7 @@ $can_draft = !empty($ctx['user_id'])
&& empty($ctx['is_guest'])
&& !in_array($status, ['publish', 'pending'], true);
?>
<div class="zib-widget">
<div class="jio-widget-box">
<div class="text-center">
<p class="separator muted-3-color theme-box"><?php esc_html_e('Are you ready', 'jio'); ?></p>
<input type="hidden" name="posts_id" value="<?php echo esc_attr((string) (int) $ctx['edit_id']); ?>">
+2 -2
View File
@@ -13,7 +13,7 @@ require_once get_template_directory() . '/templates/parts/submit/term-checks.php
?>
<?php if (!empty($ctx['is_guest'])) : ?>
<div class="zib-widget mb10-sm newpost-user-inputs">
<div class="jio-widget-box mb10-sm newpost-user-inputs">
<div class="title-theme mb10"><?php esc_html_e('用户信息', 'jio'); ?></div>
<p class="muted-3-color em09"><?php esc_html_e('请输入昵称', 'jio'); ?></p>
<div class="mb20"><input class="form-control" type="text" name="user_name" placeholder="<?php esc_attr_e('请输入昵称', 'jio'); ?>" required></div>
@@ -22,7 +22,7 @@ require_once get_template_directory() . '/templates/parts/submit/term-checks.php
</div>
<?php endif; ?>
<div class="zib-widget mb10-sm">
<div class="jio-widget-box mb10-sm">
<div class="title-theme mb10"><?php esc_html_e('文章参数', 'jio'); ?></div>
<div class="term-select-box">
<div class="newpost-cat-drop drop-select dropdown dependency-box">
+1 -2
View File
@@ -2,8 +2,7 @@
/**
* Public user home — follow tab panel body (social following/followers).
*
* Legacy parity: 粉丝/关注用户列表复刻 zib_get_follow_user_list + zib_author_card
* (inc/functions/zib-author.php:395-454, 685-716):子切换「粉丝 | 关注」居中文字链接,
* 粉丝/关注用户列表:子切换「粉丝 | 关注」居中文字链接,
* 列表项走 jio_author_minicard(.author-minicard 三列 inline-block 卡片流)。
*
* Rendered inside the #panel-follow wrapper on the public user home and via
+7 -7
View File
@@ -2,9 +2,9 @@
/**
* Author Hero — shared hero section for author archive and public user homepage.
*
* Aligns with legacy(): cover, avatar, name, identity, desc,
* and header actions. The cover carries the 人气值 / 点赞 meta pills
* (legacy zib_get_author_header_metas); follower counts stay in the tab bar.
* Cover, avatar, name, identity, desc,
* and header actions. The cover carries the 人气值 / 点赞 meta pills;
* follower counts stay in the tab bar.
*
* Contract: get_template_part(..., null, $args)
* user WP_User
@@ -47,7 +47,7 @@ $show_report = !empty($dashboard['show_report']);
$bg_url = function_exists('jio_get_user_cover_url') ? jio_get_user_cover_url($user_id) : '';
$is_own = !empty($dashboard['is_own_profile']);
// 封面右上角数据条(参考主题 zib_get_author_header_metas):人气值 + 点赞,
// 封面右上角数据条:人气值 + 点赞,
// 粉丝数只在内容 tab 上呈现,不进入封面。
$cover_metas = [];
if (function_exists('jio_get_user_posts_meta_sum') && function_exists('jio_cut_count')) {
@@ -57,14 +57,14 @@ if (function_exists('jio_get_user_posts_meta_sum') && function_exists('jio_cut_c
$cover_metas[] = [
'count' => $view_n,
'title' => sprintf(__('人气值 %s', 'jio'), $view_n),
'icon' => 'zibsvg-hot',
'icon' => 'jiosvg-hot',
];
}
if ($like_n !== '' && $like_n !== '0') {
$cover_metas[] = [
'count' => $like_n,
'title' => sprintf(__('获得%s个点赞', 'jio'), $like_n),
'icon' => 'zibsvg-like',
'icon' => 'jiosvg-like',
];
}
}
@@ -81,7 +81,7 @@ $unread_count = $is_own ? jio_get_user_unread_notification_count($user_id) : 0;
$cover_ban_html = function_exists('jio_get_user_cover_menu_action_html')
? jio_get_user_cover_menu_action_html($user_id)
: '';
// 已封禁/小黑屋用户不展示举报入口(参考主题 zib_get_report_link 排除语义)。
// 已封禁/小黑屋用户不展示举报入口。
$target_ban_restricted = function_exists('jio_is_user_ban_restricted') && jio_is_user_ban_restricted($user_id);
$show_cover_report = $cover_ban_html === '' && $show_report && !$is_own && !$target_ban_restricted;
$show_cover_menu = $has_more_details || $show_cover_report || $cover_ban_html !== '';
+1 -1
View File
@@ -1,6 +1,6 @@
<?php
/**
* 登录后禁封状态页 — 1:1 复刻参考主题 zib_user_ban_restrict_login(zib_die_page):
* 登录后禁封状态页:
* 红盒提示 + 禁封信息行 + 申诉权限 + 退出登录/申诉按钮。
* 由 Restriction::restrict_frontend_access()(template_redirect)渲染。
*