Разрешить сохранение нескольких параметров в одном параметре в Настройке тем

Я читал справочник по темам WordPress, сказали они

$wp_customize->add_setting( 'myplugin_options[color]', array( 'type' => 'option', 'capability' => 'manage_options', 'default' => '#ff2525', 'sanitize_callback' => 'sanitize_hex_color', ) ); 

Обратите внимание, что Customizer может обрабатывать параметры, хранящиеся в виде массивов с ключами, для настроек с использованием типа параметра. Это позволяет сохранить несколько параметров в одной опции, которая не является модой темы. Чтобы получить и использовать значения параметров Customizer, используйте get_theme_mod () и get_option () с идентификатором параметра:

Я пытался.

  $wp_customize->add_setting('options[toggle_hedaer]',array('default'=>true,'type'=>'option','capability' => 'manage_options','transport' => 'postMessage')); $wp_customize->add_control('options[toggle_header]',array('section' => 'live_options','label'=>'Display header?','type'=>'checkbox')); $wp_customize->add_setting('options[background]',array('default' => 'normal','type'=>'option','capability'=>'manage_options','transport' => 'postMessage')); $wp_customize->add_control('options[background]',array('section'=>'live_options','label'=> 'Change Background','type'=>'radio','choices'=>array('normal'=>'Normal','inverse'=>'Inverse') )); 

Но он не создает никаких параметров в базе данных, может ли кто-нибудь объяснить, что я делаю неправильно? и какой правильный метод хранить несколько настроек в одном варианте?

Solutions Collecting From Web of "Разрешить сохранение нескольких параметров в одном параметре в Настройке тем"

В вашем примере здесь сохраненная опция будет иметь именованные options и она будет содержать два ключа массива: toggle_header и background . Чтобы получить значения, вы должны:

 $options = get_option( 'options', array() ); $options = array_merge( array( 'toggle_hedaer' => true, 'background' => 'normal' ), $options ); // Accessing stored values here: $toggle_header = $options['toggle_hedaer']; $background = $options['background']; 

Естественно, вы должны выбрать базу ID для настройки, отличную от « options ».