Files
wordpress-theme-aksrt/src/Admin/Schema/SchemaPageDisplay.php
T

487 lines
36 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* @package AKSRT
*/
namespace AKSRT\Admin\Schema;
defined('ABSPATH') || exit;
class SchemaPageDisplay {
public static function build(): array {
return [
'domain' => 'page_display',
'title' => '页面&显示',
'sections' => [
'header-nav' => [
'key' => 'header-nav',
'title' => '顶部导航栏',
'version' => '1.1.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'layout', 'title' => '导航栏布局', 'fields' => [
['key' => 'nav_fixed', 'label' => '导航栏一直固定在顶部', 'type' => 'switch', 'default' => true],
['key' => 'nav_scroll_down_hide', 'label' => '下滚动隐藏,上滚动显示', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'nav_fixed', 'value' => true]],
]],
['key' => 'layout-type', 'title' => '布局类型', 'fields' => [
['key' => 'header_layout', 'label' => '桌面端布局', 'type' => 'image_select', 'default' => '1', 'options' => self::header_layout_options()],
['key' => 'mobile_header_layout', 'label' => '移动端布局', 'type' => 'image_select', 'default' => 'center', 'options' => self::mobile_header_layout_options()],
['key' => 'mobile_navbar_align', 'label' => '移动端菜单方向', 'type' => 'radio', 'default' => 'left', 'options' => [
['label' => '顶部(关闭手势)', 'value' => 'top'],
['label' => '左侧滑出', 'value' => 'left'],
['label' => '右侧滑出', 'value' => 'right'],
]],
]],
['key' => 'components', 'title' => '导航组件', 'fields' => [
['key' => 'nav_pay_vip', 'label' => '导航栏开通会员按钮', 'type' => 'switch', 'default' => true],
['key' => 'nav_user_pay_vip', 'label' => '用户框开通会员按钮', 'type' => 'switch', 'default' => true],
]],
['key' => 'newposts', 'title' => '发布按钮', 'fields' => [
['key' => 'nav_newposts', 'label' => '启用发布按钮', 'type' => 'switch', 'default' => true],
['key' => 'nav_newposts_text', 'label' => '按钮文案', 'type' => 'input', 'default' => '<i class="fa fas fa-fw fa-pen"></i>发布', 'dependsOn' => ['key' => 'nav_newposts', 'value' => true]],
['key' => 'nav_newposts_radius', 'label' => '按钮圆角(胶囊)', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'nav_newposts', 'value' => true]],
['key' => 'nav_newposts_class', 'label' => '按钮颜色', 'type' => 'select', 'default' => 'jb-blue', 'dependsOn' => ['key' => 'nav_newposts', 'value' => true], 'options' => [
['label' => '蓝色', 'value' => 'jb-blue'],
['label' => '红色', 'value' => 'jb-red'],
['label' => '绿色', 'value' => 'jb-green'],
['label' => '黄色', 'value' => 'jb-yellow'],
['label' => '紫色', 'value' => 'jb-purple'],
['label' => '粉色', 'value' => 'jb-pink'],
]],
['key' => 'nav_newposts_btns', 'label' => '需显示的按钮', 'type' => 'checkbox', 'default' => ['post', 'bbs_topic', 'bbs_plate', 'bbs_posts'], 'dependsOn' => ['key' => 'nav_newposts', 'value' => true], 'options' => [
['label' => '文章', 'value' => 'post'],
['label' => '论坛话题', 'value' => 'bbs_topic'],
['label' => '论坛版块', 'value' => 'bbs_plate'],
['label' => '论坛帖子', 'value' => 'bbs_posts'],
]],
['key' => 'nav_user_newposts_btn', 'label' => '用户卡发布类型', 'type' => 'select', 'default' => 'post', 'options' => [
['label' => '文章', 'value' => 'post'],
]],
['key' => 'nav_user_newposts_btn_text', 'label' => '用户卡发布文案', 'type' => 'input', 'default' => '发布文章'],
]],
['key' => 'color', 'title' => '颜色设置', 'fields' => [
['key' => 'header_theme_custom', 'label' => '自定义导航栏颜色', 'type' => 'switch', 'default' => false],
['key' => 'header_theme_bg_custom', 'label' => '自定义背景色', 'type' => 'color', 'default' => ''],
['key' => 'header_theme_bg', 'label' => '背景颜色(备选)', 'type' => 'color', 'default' => ''],
['key' => 'header_theme_color_custom', 'label' => '自定义文字颜色', 'type' => 'color', 'default' => ''],
]],
],
],
'header-components' => [
'key' => 'header-components',
'title' => '顶部多功能组件',
'description' => 'Zibll 顶部幻灯、搜索覆盖层与图标卡片的原始字段契约。',
'version' => '2.0.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'visibility', 'title' => '显示规则', 'fields' => [
['key' => 'header_slider_show', 'label' => '启用顶部多功能组件的页面', 'type' => 'checkbox', 'default' => [], 'options' => [
['label' => '首页', 'value' => 'home'],
['label' => '分类页', 'value' => 'category'],
['label' => '标签页', 'value' => 'tag'],
['label' => '用户页', 'value' => 'author'],
['label' => '文章页', 'value' => 'single'],
['label' => '搜索页', 'value' => 'search'],
['label' => '其它页面', 'value' => 'page'],
['label' => '专题页', 'value' => 'topics'],
['label' => '论坛首页', 'value' => 'forum_home'],
['label' => '论坛版块', 'value' => 'forum_plate'],
['label' => '论坛帖子', 'value' => 'forum_post'],
]],
['key' => 'header_slider_show_type', 'label' => '显示规则', 'type' => 'radio', 'default' => '', 'dependsOn' => ['key' => 'header_slider_show', 'not' => []], 'options' => [
['label' => '全部', 'value' => ''],
['label' => '仅电脑', 'value' => 'only_pc'],
['label' => '仅移动', 'value' => 'only_sm'],
]],
['key' => 'header_slider_nav_color', 'label' => '导航栏文字颜色', 'type' => 'color', 'default' => '#ffffff', 'dependsOn' => ['key' => 'header_slider_show', 'not' => []]],
]],
['key' => 'slides', 'title' => '幻灯片', 'fields' => [
['key' => 'header_slider', 'label' => '幻灯片项目', 'type' => 'repeater', 'sanitize_type' => 'array', 'default' => self::header_slider_defaults(), 'addText' => '添加幻灯片', 'fields' => [
['key' => 'background', 'label' => '背景图片', 'type' => 'media', 'default' => ''],
['key' => 'background_video', 'label' => '视频背景', 'type' => 'media', 'default' => '', 'help' => 'PC 端视频优先;移动端仅显示背景图片。'],
['key' => 'video', 'label' => '视频内容', 'type' => 'input', 'default' => ''],
['key' => 'hide', 'label' => '隐藏设备', 'type' => 'radio', 'default' => '', 'options' => [
['label' => '不隐藏', 'value' => ''],
['label' => 'PC 端不显示', 'value' => 'pc'],
['label' => '移动端不显示', 'value' => 'm'],
]],
['key' => 'link', 'label' => '跳转链接', 'type' => 'json', 'sanitize_type' => 'array', 'default' => ['url' => '', 'target' => '', 'text' => '']],
['key' => 'image_layer', 'label' => '叠加图层', 'type' => 'json', 'sanitize_type' => 'array', 'default' => [], 'help' => '每层支持 image、free_size、align、parallax、parallax_scale、parallax_opacity。'],
['key' => 'text', 'label' => '叠加文案', 'type' => 'json', 'sanitize_type' => 'array', 'default' => ['title' => '', 'desc' => '', 'text_align' => 'left-bottom', 'text_size_pc' => 30, 'text_size_m' => 20, 'parallax' => 40]],
]],
['key' => 'header_slider_option', 'label' => '幻灯片参数', 'type' => 'json', 'sanitize_type' => 'array', 'default' => self::header_slider_option_defaults()],
]],
['key' => 'search', 'title' => '搜索组件', 'fields' => [
['key' => 'header_slider_search_s', 'label' => '显示搜索组件', 'type' => 'checkbox', 'default' => ['pc_s', 'm_s'], 'options' => self::device_options()],
['key' => 'header_slider_search_option', 'label' => '搜索组件参数', 'type' => 'json', 'sanitize_type' => 'array', 'default' => self::header_slider_search_defaults()],
]],
['key' => 'cards', 'title' => '图标卡片组件', 'fields' => [
['key' => 'header_slider_card_s', 'label' => '显示图标卡片', 'type' => 'checkbox', 'default' => ['pc_s', 'm_s'], 'options' => self::device_options()],
['key' => 'header_slider_card_option', 'label' => '图标卡片参数', 'type' => 'json', 'sanitize_type' => 'array', 'default' => self::header_slider_card_defaults()],
['key' => 'header_slider_filter_blur', 'label' => '组件高斯模糊特效', 'type' => 'checkbox', 'default' => ['pc_s', 'm_s'], 'options' => self::device_options()],
]],
],
],
'category' => [
'key' => 'category',
'title' => '分类页面',
'version' => '1.0.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'header', 'title' => '分类头图', 'fields' => [
['key' => 'category_header_style', 'label' => '头部风格', 'type' => 'radio', 'default' => 'cover', 'options' => [
['label' => '封面图', 'value' => 'cover'],
['label' => '简洁标题', 'value' => 'simple'],
['label' => '隐藏', 'value' => 'none'],
]],
['key' => 'category_cover_enabled', 'label' => '显示封面图', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'category_header_style', 'value' => 'cover']],
['key' => 'category_desc_enabled', 'label' => '显示分类简介', 'type' => 'switch', 'default' => true],
['key' => 'category_default_cover', 'label' => '默认封面图', 'type' => 'media', 'default' => ''],
]],
['key' => 'list', 'title' => '列表设置', 'fields' => [
['key' => 'category_list_mode', 'label' => '列表模式', 'type' => 'radio', 'default' => 'grid', 'options' => [
['label' => '网格', 'value' => 'grid'],
['label' => '列表', 'value' => 'list'],
['label' => '紧凑', 'value' => 'compact'],
]],
['key' => 'category_per_page', 'label' => '每页文章数', 'type' => 'number', 'default' => 12, 'min' => 4, 'max' => 48],
['key' => 'category_filter_bar', 'label' => '筛选条', 'type' => 'switch', 'default' => true],
['key' => 'category_sidebar', 'label' => '侧边栏', 'type' => 'switch', 'default' => true],
['key' => 'category_post_count', 'label' => '显示文章数', 'type' => 'switch', 'default' => true],
]],
['key' => 'orderby', 'title' => '排序设置', 'fields' => [
['key' => 'category_orderby', 'label' => '默认排序', 'type' => 'select', 'default' => 'modified', 'options' => [
['label' => '最近更新', 'value' => 'modified'],
['label' => '发布时间', 'value' => 'date'],
['label' => '浏览数', 'value' => 'views'],
['label' => '评论数', 'value' => 'comments'],
['label' => '点赞数', 'value' => 'likes'],
]],
]],
],
],
'tag' => [
'key' => 'tag',
'title' => '标签页面',
'version' => '1.0.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'header', 'title' => '标签头图', 'fields' => [
['key' => 'tag_header_style', 'label' => '头部风格', 'type' => 'radio', 'default' => 'simple', 'options' => [
['label' => '简洁标题', 'value' => 'simple'],
['label' => '封面图', 'value' => 'cover'],
['label' => '隐藏', 'value' => 'none'],
]],
['key' => 'tag_default_cover', 'label' => '默认封面图', 'type' => 'media', 'default' => ''],
]],
['key' => 'list', 'title' => '列表设置', 'fields' => [
['key' => 'tag_list_mode', 'label' => '列表模式', 'type' => 'radio', 'default' => 'grid', 'options' => [
['label' => '网格', 'value' => 'grid'],
['label' => '列表', 'value' => 'list'],
]],
['key' => 'tag_per_page', 'label' => '每页文章数', 'type' => 'number', 'default' => 12, 'min' => 4, 'max' => 48],
['key' => 'tag_sidebar', 'label' => '侧边栏', 'type' => 'switch', 'default' => true],
['key' => 'tag_post_count', 'label' => '显示文章数', 'type' => 'switch', 'default' => true],
]],
['key' => 'orderby', 'title' => '排序设置', 'fields' => [
['key' => 'tag_orderby', 'label' => '默认排序', 'type' => 'select', 'default' => 'count', 'options' => [
['label' => '文章数', 'value' => 'count'],
['label' => '名称', 'value' => 'name'],
['label' => '最近更新', 'value' => 'modified'],
]],
]],
],
],
'user-home' => [
'key' => 'user-home',
'title' => '用户主页',
'version' => '1.1.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'layout', 'title' => '主页布局', 'fields' => [
['key' => 'user_home_route_identifier', 'label' => '主页 URL 标识', 'type' => 'select', 'default' => 'nicename', 'options' => [['label' => '用户名 URL slug', 'value' => 'nicename'], ['label' => '数字用户 ID', 'value' => 'uid']]],
['key' => 'user_home_cover', 'label' => '封面区域', 'type' => 'switch', 'default' => true],
['key' => 'user_home_sidebar', 'label' => '侧边栏(已弃用)', 'type' => 'switch', 'default' => false, 'help' => '公开主页对齐 Zibll 作者页为通栏布局;交易/快捷入口仅在用户中心展示。此开关保留兼容,运行时强制关闭。'],
['key' => 'user_home_follow', 'label' => '关注按钮', 'type' => 'switch', 'default' => true],
['key' => 'user_home_posts_per_page', 'label' => '每页文章数', 'type' => 'number', 'default' => 10, 'min' => 5, 'max' => 50],
['key' => 'user_home_paging_ajax', 'label' => 'AJAX 翻页', 'type' => 'switch', 'default' => true],
]],
['key' => 'tabs', 'title' => 'Tab 配置', 'fields' => [
['key' => 'user_home_tabs', 'label' => '显示的 Tab', 'type' => 'input', 'default' => 'posts,favorites,comments,follow', 'help' => '逗号分隔;默认对齐 Zibll:posts,favorites,comments,follow(粉丝)。可选 credits'],
['key' => 'user_home_tabs_order', 'label' => 'Tab 显示顺序', 'type' => 'input', 'default' => 'posts,favorites,comments,follow'],
['key' => 'user_home_tabs_pc_hide', 'label' => 'PC 端隐藏', 'type' => 'input', 'default' => ''],
['key' => 'user_home_tabs_mobile_hide', 'label' => '移动端隐藏', 'type' => 'input', 'default' => ''],
['key' => 'author_main_tab_swiper', 'label' => '移动端滑动切换', 'type' => 'switch', 'default' => false],
]],
['key' => 'display', 'title' => '展示设置', 'fields' => [
['key' => 'user_home_avatar', 'label' => '显示头像', 'type' => 'switch', 'default' => true],
['key' => 'user_home_name', 'label' => '显示用户名', 'type' => 'switch', 'default' => true],
['key' => 'user_home_desc', 'label' => '显示个人简介', 'type' => 'switch', 'default' => true],
['key' => 'user_home_stats', 'label' => '显示统计数据(已弃用)', 'type' => 'switch', 'default' => false, 'help' => '计数已并入 Tab 角标(对齐 Zibll),头图内不再重复展示文章/评论/收藏。'],
['key' => 'user_home_social', 'label' => '显示社交链接', 'type' => 'switch', 'default' => true],
['key' => 'user_home_message', 'label' => '私信/消息按钮', 'type' => 'switch', 'default' => true],
['key' => 'user_home_private', 'label' => '留言按钮', 'type' => 'switch', 'default' => true],
]],
],
],
'other' => [
'key' => 'other',
'title' => '其它页面',
'version' => '1.0.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'page-header', 'title' => '统一页头', 'fields' => [
['key' => 'page_header_style', 'label' => '页面标题样式', 'type' => 'select', 'default' => '1', 'options' => [
['label' => '不显示', 'value' => ''],
['label' => '简单', 'value' => '1'],
['label' => '卡片', 'value' => '2'],
['label' => '封面', 'value' => '3'],
]],
['key' => 'page_header_cover_img', 'label' => '默认封面图', 'type' => 'media', 'default' => ''],
]],
['key' => 'page_404', 'title' => '404 页面', 'fields' => [
['key' => 'page_404_message', 'label' => '404 提示文字', 'type' => 'input', 'default' => '页面未找到'],
['key' => 'page_404_search', 'label' => '显示搜索框', 'type' => 'switch', 'default' => true],
['key' => 'page_404_popular', 'label' => '显示热门文章', 'type' => 'switch', 'default' => true],
['key' => 'page_404_back', 'label' => '显示返回首页', 'type' => 'switch', 'default' => true],
]],
['key' => 'search_results', 'title' => '搜索结果页', 'fields' => [
['key' => 'page_search_sidebar', 'label' => '搜索结果侧边栏', 'type' => 'switch', 'default' => true],
['key' => 'page_search_per_page', 'label' => '每页结果数', 'type' => 'number', 'default' => 12, 'min' => 4, 'max' => 48],
]],
['key' => 'author', 'title' => '作者页面', 'fields' => [
['key' => 'page_author_cover', 'label' => '显示封面', 'type' => 'switch', 'default' => true],
['key' => 'page_author_sidebar', 'label' => '显示侧边栏', 'type' => 'switch', 'default' => true],
['key' => 'page_author_posts_per_page', 'label' => '每页文章数', 'type' => 'number', 'default' => 12, 'min' => 4, 'max' => 48],
]],
],
],
'background' => [
'key' => 'background',
'title' => '全局背景',
'version' => '1.0.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'light', 'title' => '亮色背景', 'fields' => [
['key' => 'bg_color', 'label' => '背景颜色', 'type' => 'color', 'default' => ''],
['key' => 'bg_image', 'label' => '背景图片', 'type' => 'media', 'default' => ''],
['key' => 'bg_size', 'label' => '图片尺寸', 'type' => 'select', 'default' => 'cover', 'options' => [
['label' => '覆盖', 'value' => 'cover'],
['label' => '包含', 'value' => 'contain'],
['label' => '原始大小', 'value' => 'auto'],
['label' => '拉伸填充', 'value' => '100% 100%'],
['label' => '100% 宽度(旧版兼容)', 'value' => '100%'],
]],
['key' => 'bg_position', 'label' => '图片位置', 'type' => 'select', 'default' => 'center center', 'options' => [
['label' => '居中', 'value' => 'center center'],
['label' => '顶部居中', 'value' => 'top center'],
['label' => '底部居中', 'value' => 'bottom center'],
]],
['key' => 'bg_repeat', 'label' => '图片重复', 'type' => 'select', 'default' => 'no-repeat', 'options' => [
['label' => '不重复', 'value' => 'no-repeat'],
['label' => '平铺', 'value' => 'repeat'],
['label' => '水平平铺', 'value' => 'repeat-x'],
['label' => '垂直平铺', 'value' => 'repeat-y'],
]],
['key' => 'bg_attachment', 'label' => '固定方式', 'type' => 'select', 'default' => 'fixed', 'options' => [
['label' => '固定', 'value' => 'fixed'],
['label' => '随内容滚动', 'value' => 'scroll'],
]],
]],
['key' => 'dark', 'title' => '暗色背景', 'fields' => [
['key' => 'bg_dark_color', 'label' => '暗色背景颜色', 'type' => 'color', 'default' => ''],
['key' => 'bg_dark_image', 'label' => '暗色背景图片', 'type' => 'media', 'default' => ''],
]],
['key' => 'overlay', 'title' => '遮罩设置', 'fields' => [
['key' => 'bg_overlay', 'label' => '启用背景遮罩', 'type' => 'switch', 'default' => false],
['key' => 'bg_overlay_color', 'label' => '遮罩颜色', 'type' => 'input', 'default' => 'rgba(0, 0, 0, 0.3)'],
]],
['key' => 'page', 'title' => '页面背景', 'fields' => [
['key' => 'page_bg_color', 'label' => '内容区背景色', 'type' => 'color', 'default' => ''],
['key' => 'page_bg_image', 'label' => '内容区背景图', 'type' => 'media', 'default' => ''],
]],
],
],
'footer' => [
'key' => 'footer',
'title' => '底部页脚',
'version' => '1.0.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'layout', 'title' => '页脚布局', 'fields' => [
['key' => 'footer_columns', 'label' => '页脚列数', 'type' => 'number', 'default' => 3, 'min' => 1, 'max' => 4],
['key' => 'footer_copyright', 'label' => '显示版权信息', 'type' => 'switch', 'default' => true],
['key' => 'footer_icp', 'label' => '显示ICP备案', 'type' => 'switch', 'default' => true],
['key' => 'footer_police', 'label' => '显示公安备案', 'type' => 'switch', 'default' => true],
]],
['key' => 'color', 'title' => '页脚颜色', 'fields' => [
['key' => 'footer_theme_custom', 'label' => '自定义页脚颜色', 'type' => 'switch', 'default' => false],
['key' => 'footer_theme_bg_custom', 'label' => '自定义背景色', 'type' => 'color', 'default' => ''],
['key' => 'footer_theme_bg', 'label' => '背景图片', 'type' => 'media', 'default' => ''],
['key' => 'footer_theme_color_custom', 'label' => '自定义文字颜色', 'type' => 'color', 'default' => ''],
]],
['key' => 'contact', 'title' => '联系方式', 'fields' => [
['key' => 'footer_contact_wechat_img', 'label' => '微信二维码', 'type' => 'media', 'default' => ''],
['key' => 'footer_contact_qq', 'label' => 'QQ', 'type' => 'input', 'default' => ''],
['key' => 'footer_contact_weibo', 'label' => '微博', 'type' => 'input', 'default' => ''],
['key' => 'footer_contact_email', 'label' => '邮箱', 'type' => 'input', 'default' => ''],
]],
['key' => 'brand', 'title' => '品牌列(第一列)', 'fields' => [
['key' => 'footer_t1_m_s', 'label' => '显示设备', 'type' => 'checkbox', 'default' => ['pc', 'mobile'], 'options' => [
['label' => 'PC', 'value' => 'pc'],
['label' => '移动端', 'value' => 'mobile'],
]],
['key' => 'footer_t1_img', 'label' => '页脚 Logo(日间)', 'type' => 'media', 'default' => ''],
['key' => 'footer_t1_img_dark', 'label' => '页脚 Logo(夜间)', 'type' => 'media', 'default' => ''],
['key' => 'footer_t1_t', 'label' => '品牌标题', 'type' => 'input', 'default' => ''],
['key' => 'fcode_t1_code', 'label' => '品牌列自定义代码', 'type' => 'textarea', 'default' => ''],
]],
['key' => 'contact_ext', 'title' => '联系方式扩展', 'fields' => [
['key' => 'footer_contact_m_s', 'label' => '显示设备', 'type' => 'checkbox', 'default' => ['pc', 'mobile'], 'options' => [
['label' => 'PC', 'value' => 'pc'],
['label' => '移动端', 'value' => 'mobile'],
]],
['key' => 'footer_contact_more', 'label' => '更多联系项', 'type' => 'textarea', 'default' => '', 'help' => 'JSON 数组,每项含 desc/icon/link/img'],
['key' => 'fcode_t2_code_1', 'label' => '链接 HTML(fcode_t2_code_1)', 'type' => 'textarea', 'default' => '', 'help' => '直接写 <a> 链接 HTML;为空时回退快速链接/友链/热门分类'],
['key' => 'fcode_t2_code_2', 'label' => '链接下方自定义代码', 'type' => 'textarea', 'default' => '', 'help' => '备案号等 HTML'],
]],
['key' => 'mini_qr', 'title' => '二维码图片组(第三列)', 'fields' => [
['key' => 'footer_mini_img_m_s', 'label' => '显示设备', 'type' => 'checkbox', 'default' => ['pc', 'mobile'], 'options' => [
['label' => 'PC', 'value' => 'pc'],
['label' => '移动端', 'value' => 'mobile'],
]],
['key' => 'footer_mini_img', 'label' => '二维码组', 'type' => 'textarea', 'default' => '', 'help' => 'JSON 数组,每项含 text/img(最多4个)'],
]],
['key' => 'custom', 'title' => '底部自定义', 'fields' => [
['key' => 'fcode_customize_code', 'label' => '底部自定义代码', 'type' => 'textarea', 'default' => ''],
]],
],
],
'tabbar' => [
'key' => 'tabbar',
'title' => '底部Tab栏',
'version' => '1.1.0',
'option_key' => 'aksrt_settings',
'groups' => [
['key' => 'basic', 'title' => 'Tab栏设置', 'fields' => [
['key' => 'footer_tabbar_s', 'label' => '启用底部Tab栏', 'type' => 'switch', 'default' => true],
['key' => 'footer_tabbar_scroll_hide', 'label' => '滚动时隐藏', 'type' => 'switch', 'default' => false],
['key' => 'footer_tabbar_scroll_down_hide', 'label' => '下滑时隐藏', 'type' => 'switch', 'default' => true],
['key' => 'footer_tabbar_max_items', 'label' => '最大Tab数', 'type' => 'number', 'default' => 5, 'min' => 3, 'max' => 7],
['key' => 'footer_tabbar_icon_size', 'label' => '图标大小', 'type' => 'number', 'default' => 22, 'min' => 16, 'max' => 32],
['key' => 'footer_tabbar_text_size', 'label' => '文字大小', 'type' => 'number', 'default' => 10, 'min' => 8, 'max' => 14],
['key' => 'footer_tabbar_show_text', 'label' => '显示文字', 'type' => 'switch', 'default' => true],
['key' => 'footer_tabbar_active_color', 'label' => '选中颜色', 'type' => 'color', 'default' => '#f04494'],
['key' => 'footer_tabbar_bg_color', 'label' => '背景颜色', 'type' => 'color', 'default' => ''],
['key' => 'footer_tabbar_border', 'label' => '显示上边框', 'type' => 'switch', 'default' => true],
['key' => 'footer_tabbar_shadow', 'label' => '显示阴影', 'type' => 'switch', 'default' => true],
['key' => 'footer_tabbar_animation', 'label' => '切换动画', 'type' => 'switch', 'default' => true],
['key' => 'footer_tabbar_double_click_home', 'label' => '双击首页刷新', 'type' => 'switch', 'default' => true],
['key' => 'footer_tabbar_badge_dot', 'label' => '徽标圆点样式', 'type' => 'switch', 'default' => false],
['key' => 'footer_tabbar_single', 'label' => '文章页专属Tab', 'type' => 'select', 'default' => 'default', 'options' => [
['label' => '默认按钮', 'value' => 'default'],
['label' => '文章扩展按钮(评论/收藏/分享)', 'value' => 'extend'],
], 'help' => '文章详情页底部显示的Tab按钮类型'],
]],
],
],
],
];
}
/** @return list<array{label:string,value:string}> */
private static function device_options(): array {
return [
['label' => '电脑端', 'value' => 'pc_s'],
['label' => '移动端', 'value' => 'm_s'],
];
}
/** @return list<array<string,mixed>> */
private static function header_slider_defaults(): array {
$base = defined('AKSRT_URI') ? trailingslashit(AKSRT_URI) . 'assets/vendor/zibll/img/' : '';
$slides = [];
foreach (['slider-bg.jpg', 'user_t.jpg'] as $image) {
$slides[] = [
'background' => $base . $image,
'link' => ['url' => 'https://www.zibll.com/', 'target' => '_blank'],
'text' => ['desc' => '', 'title' => ''],
'text_align' => 'left-bottom',
'text_parallax' => 30,
'text_size_m' => 20,
'text_size_pc' => 30,
];
}
return $slides;
}
/** @return array<string,mixed> */
private static function header_slider_option_defaults(): array {
return [
'direction' => 'horizontal',
'loop' => true,
'button' => true,
'pagination' => true,
'effect' => 'slide',
'scale_height' => false,
'auto_height' => false,
'pc_height' => 550,
'm_height' => 280,
'spacebetween' => 0,
'speed' => 0,
'autoplay' => true,
'interval' => 6,
];
}
/** @return array<string,mixed> */
private static function header_slider_search_defaults(): array {
return [
'show_keywords' => true,
'popular_limit' => 6,
'show_input_cat' => false,
'in_cat' => '',
'more_cats' => [],
'show_type' => false,
'in_type' => 'post',
'before_html' => '<div class="em16 font-bold mb10">更优雅的WordPress主题</div><div>这是导航栏幻灯片多功能组件,可在后台进行配置</div>',
'after_html' => '',
];
}
/** @return array<string,mixed> */
private static function header_slider_card_defaults(): array {
return [
'show_widget_bg' => false,
'icon_radius4' => false,
'cards' => [
['icon' => 'zibsvg-vip_1', 'customize_icon' => '', 'icon_class' => 'c-yellow', 'link' => [], 'title' => '图标卡片', 'desc' => '这是一个图标卡片示例'],
['icon' => 'zibsvg-vip_2', 'customize_icon' => '', 'icon_class' => 'c-blue-2', 'link' => [], 'title' => '原创作品', 'desc' => '这是一个图标卡片示例'],
['icon' => 'zibsvg-hot', 'customize_icon' => '', 'icon_class' => 'jb-pink', 'link' => [], 'title' => '灵感来源<badge class="ml6 jb-yellow">NEW</badge>', 'desc' => '这是一个图标卡片示例'],
['icon' => 'fa fas fa-ioxhost', 'customize_icon' => '', 'icon_class' => 'jb-cyan', 'link' => [], 'title' => '系统工具 <badge class="ml6 jb-blue">GO <span class="fa fas fa-angle-right em12"></span></badge>', 'desc' => '这是一个图标卡片示例'],
],
];
}
/** @return list<array{label:string,value:string,image:string}> */
private static function header_layout_options(): array {
$base = defined('AKSRT_URI') ? trailingslashit(AKSRT_URI) . 'assets/images/header-layout/' : '';
return [
['label' => '布局 1(经典)', 'value' => '1', 'image' => $base . 'header_layout_1.png'],
['label' => '布局 2(内联搜索)', 'value' => '2', 'image' => $base . 'header_layout_2.png'],
['label' => '布局 3(紧凑)', 'value' => '3', 'image' => $base . 'header_layout_3.png'],
];
}
/** @return list<array{label:string,value:string,image:string}> */
private static function mobile_header_layout_options(): array {
$base = defined('AKSRT_URI') ? trailingslashit(AKSRT_URI) . 'assets/images/header-layout/' : '';
return [
['label' => '居中(含搜索按钮)', 'value' => 'center', 'image' => $base . 'mobile_header_layout_center.png'],
['label' => '靠左', 'value' => 'left', 'image' => $base . 'mobile_header_layout_left.png'],
];
}
}