ouun / kirki-module-sync_controls
Kirki WordPress 插件的同步模块。
Requires
- php: >=5.6
- kirki-framework/url-getter: *
This package is auto-updated.
Last update: 2024-09-24 01:05:40 UTC
README
此模块允许为控件设置一个主控件。例如,您添加一个颜色控件,其值应与其主控件相同,直到用户决定覆盖它。这基本上就是本模块要做的。
要求
- Kirki 框架 >=4.0
- WordPress >= 4.6
支持哪些控件
迄今为止,此模块已与以下 Kirki 控件进行了测试,并且也应与其他控件兼容:
- 颜色: https://github.com/kirki-framework/control-color/
- 多颜色: https://github.com/kirki-framework/field-multicolor
- 字体: https://github.com/kirki-framework/field-typography
如何设置同步
通常,多个控件可以具有相同的“主控件”。只需在每个控件的 input_attrs
参数中定义 sync-master
即可。
'input_attrs' => [
'sync-master' => 'primary_color'
]
例如,上面的 primary_color
是主设置 ID。
特殊情况:多颜色字段
使用: https://github.com/kirki-framework/field-multicolor
Kirki 多颜色字段在内部设置了多个控件。您可以选择一次性为所有颜色设置一个主控件,或者分别设置。
为所有颜色控件设置主控件
您可以将上述示例应用于多颜色字段。因此,该字段中的每个颜色控件都将同步到主控件 primary_color
,直到其值被覆盖。
'input_attrs' => [
'sync-master' => 'primary_color'
]
设置单个主控件
假设您已按以下方式设置颜色控件:
'choices' => [
'color_1' => esc_attr__( 'First Color', 'example' ),
'color_2' => esc_attr__( 'Second Color', 'example' ),
'color_3' => esc_attr__( 'Another Color', 'example' ),
],
因此,您可以分别为每个 choices
定义同步主控件。
'input_attrs' => [
'{{ CHOICE ID }}' => [
'sync-master' => '{{ MASTER ID }}',
],
'color_2' => [
'sync-master' => 'colors[primary]',
],
'color_3' => [
'sync-master' => 'colors[secondary]',
],
],
您甚至可以为主控件定义所有控件,并为 color_2
例外。
'input_attrs' => [
'sync-master' => 'colors[primary]',
'color_2' => [
'sync-master' => 'colors[secondary]',
],
],
color_1
和 color_3
将具有相同的 colors[primary]
主控件。 color_2
将与 colors[secondary]
同步。
特殊情况:字体字段
使用: https://github.com/kirki-framework/field-typography
字体字段也设置了多个控件。
- 'font-family'
- 'font-weight'
- 'font-style'
- 'font-size'
- 'line-height'
- 'letter-spacing'
- 'word-spacing'
- 'text-transform'
- 'text-align'
- 'margin-top'
- 'margin-bottom'
- 'color'
目前,您需要分别定义您想要同步的每个控件。
'input_attrs' => [
'font-family' => [
'data-sync-master' => 'another_typo_control[font-family]',
],
'font-weight' => [
'data-sync-master' => 'another_typo_control[font-weight]',
],
],
同步指示器
具有主控件同步定义的控件会在标签后附加一个指示器。单击后,它会将焦点置于主控件,如果处于同步状态,则标签为 AUTO
,如果值被覆盖,则标签为 'CUSTOM'。