Me pregunto si alguien podría aconsejarme más sobre mi problema. Parte de mi complemento almacena archivos de registro con fines de depuración. Los he mostrado con éxito en un (div # log) 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 podría 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 (acción)
$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 administrador
<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, este script 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.