问题描述
如果我添加超过 5 个设置到单个部分,设置的顺序是很奇怪的。
例如:
// Link color
$wp_customize->add_setting( 'tonal_'.$themeslug.'_settings[link_color1]', array(
'default' => $themeOptions['link_color1'],
'type' => 'option',
'sanitize_callback' => 'sanitize_hex_color',
'capability' => 'edit_theme_options',
'transport' => 'postMessage'
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'tonal_'.$themeslug.'_settings[link_color1]', array(
'label' => __( 'Link color1', 'tonal' ),
'section' => 'colors',
'settings' => 'tonal_'.$themeslug.'_settings[link_color1]',
'choices' => '#ffffff'
) ) );
Further examples in a pastebin – no expiration time
颜色的编号从 1 到 7,但在设置中它们按照顺序显示:2,1,3,4,6,5,7
有人经历过同样的事吗?
还是有人甚至知道如何解决这个问题?
最佳解决方案
如果您按照特定的顺序需要它们,则为控件提供优先级值。否则,他们的订单没有定义,不能保证。
如果未定义优先级,则控件将获得”10″ 的默认优先级。
当两个控件具有相同的优先级时,则生成的顺序是未定义的,因为这是 how PHP works 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。