Theme settings not getting saved I created custom settings for my theme for storing email, fb url, twitter url
and g+ url. Everything is coming properly but the settings are not getting saved.
I have no idea whats wrong. All the code and screenshots are below. 

.info file content

settings[z_email] = mail@zed.com
settings[z_facebook] = fb/url
settings[z_twitter] = twitter/url
settings[z_gplus] = gplus/url


theme-settings.php file content

function z_form_system_theme_settings_alter(&amp;$form, $form_state) {
  $form['z_email'] = array(
    '#type'          =&gt; 'textfield',
    '#title'         =&gt; t('Email'),
    '#default_value' =&gt; theme_get_setting('mail@zealind.com'),
    '#description'   =&gt; t("Global Email Id for ZealInd site."),
  );

  $form['z_facebook'] = array(
    '#type'          =&gt; 'textfield',
    '#title'         =&gt; t('Facebook'),
    '#default_value' =&gt; theme_get_setting(''),
    '#description'   =&gt; t("Facebook Url."),
  );

  $form['z_twitter'] = array(
    '#type'          =&gt; 'textfield',
    '#title'         =&gt; t('Twitter'),
    '#default_value' =&gt; theme_get_setting(''),
    '#description'   =&gt; t("Twitter Url."),
  );

  $form['z_gplus'] = array(
    '#type'          =&gt; 'textfield',
    '#title'         =&gt; t('Google+'),
    '#default_value' =&gt; theme_get_setting(''),
    '#description'   =&gt; t("Google+ Url."),
  );



}


The theme setting page:
You're not using theme_get_setting() quite right at the moment; the first argument should be the name of the setting, not a default value.

For example, your element defined as $form['z_email'] should look like this:

$form['z_email'] = array(
  '#type'          =&gt; 'textfield',
  '#title'         =&gt; t('Email'),
  '#default_value' =&gt; theme_get_setting('z_email'),
  '#description'   =&gt; t("Global Email Id for ZealInd site."),
);