Einstellungs-API – Wie man Optionen manuell aktualisiert?

Ich speichere alle meine Optionen mit der Einstellungs-API:

function registerSettings() { register_setting('XX_theme_settings', 'XX_theme_settings', 'setting_validate' ); add_settings_section('theme_options', 'Theme Options', 'theme_options_generate', 'page1' ); add_settings_field( 'XX_Option1', 'Option 1', 'text_input', 'page1', 'theme_options', 'XX_Option1' ); add_settings_field( 'XX_Option2', 'Option 2', 'text_input', 'page1', 'theme_options', 'XX_Option2' ); }; add_action('admin_init', 'registerSettings'); 

Nehmen wir an, ich möchte XX_Option2 manuell aktualisieren (ohne Formulare, aber über PHP), wie soll ich das machen?

Ich dachte über update_option('XX_theme_settings[XX_Option2]', value) , aber das funktioniert nicht (?).

Solutions Collecting From Web of "Einstellungs-API – Wie man Optionen manuell aktualisiert?"

Das liegt daran, dass Ihre Optionen als serialisiertes Array in einer Zeile mit dem Namen XX_theme_settings . Um eine Option zu aktualisieren, müssen Sie weiterhin die vorhandenen Einstellungen abrufen, den entsprechenden Wert ändern und alle Optionen in Ihrem Array zusammen aktualisieren.

Beispielsweise:

 $my_options= get_option('XX_theme_settings');//retrieve all options $my_options['XX_Option2'] = 'my new value'; //amend value in array(s) update_option('XX_theme_settings', $my_options); //update option array