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.