feat(header): add 叠加组件 with after_html per background item
「顶部多功能组件 → 背景内容」的每个背景项目新增「叠加组件」手风琴, 其中提供「组件下方额外内容」(after_html) 输入框,支持 HTML。 - 后台 schema:slider_item_fields 增加 overlay accordion(sanitize_type html), 默认值与 PageConfigMetaBox / DisplayPageGroups 的默认项目同步带上空 overlay - 保存:页面独立配置(page_config 元数据)按项目写入 overlay.after_html, 沿用 wp_kses_post() 过滤 - 前端:after_html 作为 .slide-overlay-after 覆盖层输出在所属幻灯片内 (幻灯片是 overflow:hidden 的定位层,放到幻灯片外会被裁掉), 默认贴底居中、仅其中的链接与表单接收点击 - main.min.css 由 tools/build-public-assets.mjs 重新生成 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
44a03fd5f4
commit
c2733017fd
10 files changed
+89
-4
No files matched your search
@@ -469,6 +469,9 @@ test('save contract rejects invalid input and round-trips canonical nested value
|
||||
assert.deepEqual(slide.link, { url: 'https://example.test/slide', target: '_blank', text: 'Go' })
|
||||
assert.equal(slide.text.title, '<strong>Safe</strong>')
|
||||
assert.equal(Object.hasOwn(slide.text, 'unknown'), false)
|
||||
// 叠加组件按项目保存,未知键丢弃,脚本被过滤。
|
||||
assert.equal(slide.overlay.after_html, '<div class="cta">Below</div>')
|
||||
assert.equal(Object.hasOwn(slide.overlay, 'unknown'), false)
|
||||
|
||||
assert.equal(data.footer_clean.fcode_t1_code, '<strong>Allowed</strong>')
|
||||
assert.equal(data.footer_clean.footer_contact_weibo, '')
|
||||
|
||||
Reference in new issue
Block a user