后台把「正文目录」和「浮动目录」分成两块(#1)
浮动目录本来就没有手动/自动之分:它不读正文,没有地方写 [TOC], 要么显示要么不显示。代码层面早已如此(rail 只由 float 决定), 真正的问题是后台十项排成一列,「添加方式」「自动插入位置」跟在 浮动选项后面,看着像两种目录共用的设置。 - 新增三个 info 类型分组小标题:正文里的目录 / 浮动目录 / 两份目录共用的设置。用 info 而不是 heading —— heading 会另起 标签页,info 只渲染成一行 h4 + 说明,不进标签页菜单、不生成表单字段。 - 选项按归属重新分段:正文段(toc_inline / inline_align / mode / anchor)、浮动段(toc_float / float_side)、共用段(default / title / levels / numbering)。顺序变了,但选项 id 与存库键不变。 - 「添加方式」说明收窄为只管正文那一份;「浮动显示」说明补上 「它没有手动/自动之分」;「自动插入位置」清掉过时的 「目录位置 = 正文中间」字样。 - 顺带修掉「自动插入位置」控件被定义两遍(后台会渲染两个同名下拉)。 验证:guard330 63/0、其 falsify 15/15(新增 V37~V41 守三段归属)、 admin330_tab_check 88/0(新增分组几何判据)、其 falsify 16/16、 toc 逻辑 101/0 与 53/0、rail 几何 73/0、inline 几何 23/0、 包校验 69/0、其 falsify 13/13。 前台零变化:本次只动后台分组与文案,未改任何渲染逻辑。
This commit is contained in:
+44
-11
@@ -396,6 +396,25 @@ function kratos_options()
|
|||||||
'type' => 'heading',
|
'type' => 'heading',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* ── 分组标题:正文里的那一份 ──────────────────────────────
|
||||||
|
*
|
||||||
|
* 用 info 类型而不是 heading:heading 会另起一个标签页
|
||||||
|
* (framework 里 `case "heading"` 会 $counter++ 并新建
|
||||||
|
* #options-group-N),info 只渲染成一行 <h4> + 说明文字,
|
||||||
|
* 既不进标签页菜单,也不生成表单字段(见
|
||||||
|
* class-options-interface.php 的 :24 / :59 / :91)。
|
||||||
|
*
|
||||||
|
* 加这两条小标题的原因:浮动目录和正文目录是两件互不相干的事,
|
||||||
|
* 但原来的选项排成一长列,「添加方式」「自动插入位置」跟在
|
||||||
|
* 「浮动显示」后面,看着像是两种目录共用的设置,容易让人以为
|
||||||
|
* 浮动目录也分手动/自动。 */
|
||||||
|
$options[] = array(
|
||||||
|
'name' => __('正文里的目录', 'kratos'),
|
||||||
|
'desc' => __('下面这几项只影响<b>正文流里</b>那一份目录 —— 它跟着文章一起排版,会占正文位置。', 'kratos'),
|
||||||
|
'id' => 'toc_group_inline',
|
||||||
|
'type' => 'info',
|
||||||
|
);
|
||||||
|
|
||||||
$options[] = array(
|
$options[] = array(
|
||||||
'name' => __('在正文中显示', 'kratos'),
|
'name' => __('在正文中显示', 'kratos'),
|
||||||
'desc' => __('勾选后,在文章正文里插一份目录。<br>它和下面的「浮动显示」<b>互不影响</b>:两个都勾就同时出现两份(正文一份、边上浮一份),只勾一个就只出现一种。', 'kratos'),
|
'desc' => __('勾选后,在文章正文里插一份目录。<br>它和下面的「浮动显示」<b>互不影响</b>:两个都勾就同时出现两份(正文一份、边上浮一份),只勾一个就只出现一种。', 'kratos'),
|
||||||
@@ -416,9 +435,21 @@ function kratos_options()
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$options[] = array(
|
||||||
|
'name' => __('添加方式', 'kratos'),
|
||||||
|
'desc' => __('<b>手动</b>:不自动加,只有正文里手写了 <b>[TOC]</b> 的地方才显示(老文章的行为,升级后不会突然多出目录)。<br><b>自动</b>:由主题自己在「自动插入位置」处加一份,不用改任何文章。<br>本项<b>只管正文里的那一份</b>;浮动目录不受它影响(浮动目录没有地方写 <b>[TOC]</b>,勾了就一直在)。', 'kratos'),
|
||||||
|
'id' => 'toc_mode',
|
||||||
|
'std' => 'manual',
|
||||||
|
'type' => 'select',
|
||||||
|
'options' => array(
|
||||||
|
'manual' => __('手动(只在写 [TOC] 的地方显示)', 'kratos'),
|
||||||
|
'auto' => __('自动添加', 'kratos'),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
$options[] = array(
|
$options[] = array(
|
||||||
'name' => __('自动插入位置', 'kratos'),
|
'name' => __('自动插入位置', 'kratos'),
|
||||||
'desc' => __('只在「添加方式 = 自动」且勾选了「在正文中显示」时起作用。<br><b>第一个标题之前</b>取正文里最先出现的 h1 或 h2 —— 文章大标题在正文之外,不会被算进去;一个 h1/h2 都没有时退回插在文章开头。', 'kratos'),
|
'desc' => __('只在「添加方式 = 自动」且勾选了「在正文中显示」时起作用;手动方式下插入点由你自己写的 <b>[TOC]</b> 决定。<br><b>第一个标题之前</b>取正文里最先出现的 h1 或 h2 —— 文章大标题在正文之外,不会被算进去;一个 h1/h2 都没有时退回插在文章开头。', 'kratos'),
|
||||||
'id' => 'toc_anchor',
|
'id' => 'toc_anchor',
|
||||||
'std' => 'first',
|
'std' => 'first',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
@@ -429,9 +460,16 @@ function kratos_options()
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$options[] = array(
|
||||||
|
'name' => __('浮动目录', 'kratos'),
|
||||||
|
'desc' => __('下面两项只影响<b>浮在页面边上</b>那一份 —— 它不占正文位置,和正文里的目录互不相干。', 'kratos'),
|
||||||
|
'id' => 'toc_group_float',
|
||||||
|
'type' => 'info',
|
||||||
|
);
|
||||||
|
|
||||||
$options[] = array(
|
$options[] = array(
|
||||||
'name' => __('浮动显示', 'kratos'),
|
'name' => __('浮动显示', 'kratos'),
|
||||||
'desc' => __('勾选后,目录变成贴在页面边缘的浮动面板,点边上的小标签滑出,<b>不占正文位置</b>。窄屏(手机)上是从边缘滑出的抽屉,不会挤占正文。<br>与「在正文中显示」互相独立,可以同时勾选。', 'kratos'),
|
'desc' => __('勾选后,目录变成贴在页面边缘的浮动面板,点边上的小标签滑出,<b>不占正文位置</b>。窄屏(手机)上是从边缘滑出的抽屉,不会挤占正文。<br>与「在正文中显示」互相独立,可以同时勾选。<b>它没有手动/自动之分</b>:勾了就一直在,不勾就不出现。', 'kratos'),
|
||||||
'id' => 'toc_float',
|
'id' => 'toc_float',
|
||||||
'std' => '',
|
'std' => '',
|
||||||
'type' => 'checkbox',
|
'type' => 'checkbox',
|
||||||
@@ -450,15 +488,10 @@ function kratos_options()
|
|||||||
);
|
);
|
||||||
|
|
||||||
$options[] = array(
|
$options[] = array(
|
||||||
'name' => __('添加方式', 'kratos'),
|
'name' => __('两份目录共用的设置', 'kratos'),
|
||||||
'desc' => __('<b>手动</b>:不自动加,只有正文里手写了 <b>[TOC]</b> 的地方才显示(老文章的行为,升级后不会突然多出目录)。<br><b>自动</b>:由主题自己加,不用改任何文章。', 'kratos'),
|
'desc' => __('下面几项对正文里和浮动的那一份<b>同时生效</b>。', 'kratos'),
|
||||||
'id' => 'toc_mode',
|
'id' => 'toc_group_common',
|
||||||
'std' => 'manual',
|
'type' => 'info',
|
||||||
'type' => 'select',
|
|
||||||
'options' => array(
|
|
||||||
'manual' => __('手动(只在写 [TOC] 的地方显示)', 'kratos'),
|
|
||||||
'auto' => __('自动添加', 'kratos'),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
$options[] = array(
|
$options[] = array(
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Theme Name: Kratos_Yang
|
Theme Name: Kratos_Yang
|
||||||
Text Domain: kratos_Yang
|
Text Domain: kratos_Yang
|
||||||
Version: 3.2.31
|
Version: 3.2.32
|
||||||
Requires PHP: 7.0
|
Requires PHP: 7.0
|
||||||
Description: 这是一个Kratos主题的分支版本,用来增加一些定制化功能。
|
Description: 这是一个Kratos主题的分支版本,用来增加一些定制化功能。
|
||||||
Tags: 博客, 双栏, 响应式, 自定义背景, 自定义颜色, 自定义图标, 自定义菜单, 特色图像, 收录优化, 邮件中心, 主题选项, 小工具, 文章置顶, 无障碍友好
|
Tags: 博客, 双栏, 响应式, 自定义背景, 自定义颜色, 自定义图标, 自定义菜单, 特色图像, 收录优化, 邮件中心, 主题选项, 小工具, 文章置顶, 无障碍友好
|
||||||
|
|||||||
Reference in New Issue
Block a user