Files
wordpress-kratos-yang/inc/options-framework
laoyang 1a31e412b0 写作增强:翻译服务商选了谁才显示谁对应的账号输入框 #26
之前四个密钥框(百度 APPID/密钥、有道应用 ID/密钥)无论选哪家服务商
都全摆在设置页上,四组输入框里永远有三组用不上。

改动:
- inc/theme-options.php:新增 $yang_prov_class() 闭包,统一生成字段
  的 class。服务端就按「当前已保存的服务商」把 yq-cond-hide 打好,
  首帧不闪。分组标记 yang-prov / yang-prov-<key> 写在每个字段的
  'class' 上,是**唯一的分组声明处**,JS 不再抄服务商清单。
  原本一个 shared 的 info 块拆成三块,每家一句自己的说明。
- inc/options-framework/js/options-custom.js:重写
  yq_toggle_writing_slug_fields()。两层条件(总开关 + 服务商归属)
  必须在同一函数内合成一个结果再 toggleClass —— toggleClass 的
  force 是绝对赋值,拆成两个函数各 toggle 一次的话结果只取决于
  注册顺序。change 事件同时监听 #w_on_slug 与 #w_provider。
- style.css:3.2.57 -> 3.2.58

两处刻意避开的老坑:
- 用 class + display:none !important,不用 jQuery show()/hide(),
  后者会把行内 display 写成 block,回退 3.2.28 的 flow-root 修复。
- 隐藏不 disabled 输入框,密钥字段是「留空=不修改」语义,disabled
  不随表单提交,会把已保存的密钥冲掉。
2026-10-27 21:40:00 +08:00
..