Me pregunto si alguien podría aconsejarme sobre mi problema. Parte de mi complemento almacena los archivos de registro para fines de depuración. Los he exhibido exitosamente en un (div # registro) en mi página de administración usando jquery y wp_localise_script. Tengo un botón para eliminar estos registros pero no estoy seguro de cómo procesar esto. Tengo la sensación de que ajax puede ser útil aquí, pero no estoy seguro de por dónde empezar.
Aquí están las partes relevantes de mi código:
admin_enqueue_scripts (action)
$args = array(get_option('wow_tweets_log'));//log files fetched from wp_options table
wp_enqueue_script('wow_tweet');//registered earlier on with jQuery dependency
wp_localize_script('wow_tweet', 'wow_vars', $args);
Página de administración
<tr><th scope="row"><strong>Debugging</strong></th><td>
<div id="debug" class="button-primary">Debug</div><!--debug button shows logs-->
<div id="hide_debug" class="button-secondary">Hide</div><!--debug button hides logs-->
<div id="clear_log" class="button-secondary">Empty Log</div><!--Press to delete logs-->
</td></tr>
<tr><th scope="row"></th><td><div id="log"><!--Logs show here--></div></td></tr>
Javascript
jQuery(document).ready(function() {
var debug_show = jQuery('#log').hide();//hides log by default
jQuery('#debug').click(function(){//on click shows logs files in div#log
for (var i = 0, l = wow_vars.length; i < l; i++) {
var data = wow_vars[i];
}
jQuery('#log').show().html(data);
});
jQuery('#hide_debug').click(function()
{
debug_show.hide();
});
});
Acción para borrar el registro
function clear_log(){
delete_option('wow_tweets_log');//am stuck on how to invoke this
/*die(); would go at the end if ajax used*/
}
add_action('clear_log','clear_log');
Hasta ahora, esta secuencia de comandos está trabajando para mostrar todos los archivos de registro, ahora todo lo que necesito es eliminarlos al hacer clic en #clear_log. Sé que conectar un do_action en init los eliminará tan pronto como se cargue la página, haciendo que mi javascript sea inútil, así que supongo que la única opción es ajax. ¿Necesito agregar otra referencia a wp_localize_script ()? Cualquier ayuda sería apreciada.