Salvando opções do wordpress settings api com ajax,

Eu tenho lutado com esse problema há algum tempo agora. Eu tenho uma página de opções para um tema e uma única opção registrada.

Eu tenho tentado obter a opção atualizada via ajax toda vez que um usuário pressiona o botão salvar, aqui está o meu código.

JS:

       function save_main_options_ajax() {

        $('.main-options-form').submit( function () { 

            var b       =  $(this).serialize(),
                optdata =  { action : "wp_ajax_main_options_save", data: b };

            $.post( ajaxurl, b, function (response) {
                if (response == 1 ) { alert('sucess'); }
                else { alert(optdata);}
            });
            return false;               
        });
    }
save_main_options_ajax();

O php:

 function main_options_save_ajax() { 

        check_ajax_referer('_wpnonce', '_wpnonce' );

        $data = $_POST;
        unset($data['option_page'], $data['action'], $data['_wpnonce'], $data['_wp_http_referer']);


        if ( update_option('main_options', $data ) )
        { die(1); }
        else { die (0); }           
}
add_action('wp_ajax_main_options_save', 'main_options_save_ajax' );

A resposta que vejo no firebug é 0. Não tenho certeza do que estou perdendo aqui, tentei isso com algumas variações, mas nada parece funcionar.

questionAnswers(2)

yourAnswerToTheQuestion