我认为这可能不是客户组织方式的正确方法。
控件和设置是非常独立的实体。控件可以保存设置,但设置不绑定到特定控件。例如,就我所知,没有什么能阻止您在单个设置中使用多个控件。
我的建议是将选项抽象为一个单独的函数或变量,然后在适当的地方引用它。例如,具有定义有效选项的函数:
function wpse_316500_choices() {
return [
\'one\' => \'One\',
\'two\' => \'Two\',
\'three\' => \'Three\',
];
}
然后在注册控件时使用该功能:
$wp_customize->add_control( \'wpse_316500_setting\',
[
\'type\' => \'select\',
\'choices\' => wpse_316500_get_choices(),
]
);
以及消毒功能:
function wpse_316500_sanitize( $input, $setting ) {
$input = sanitize_key( $input );
$choices = wpse_316500_get_choices();
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
}