Mi chiedo se qualcuno potrebbe consigliarmi ulteriormente sul mio problema. Parte del mio plugin memorizza i file di registro a scopo di debug. Li ho visualizzati con successo in un (registro div #) nella mia pagina di amministrazione usando jquery e wp_localise_script. Ho un pulsante per eliminare questi registri ma non sono sicuro su come elaborarlo. Ho la sensazione che Ajax potrebbe tornare utile qui, ma non sono sicuro da dove cominciare.
Ecco le parti rilevanti del mio codice:
admin_enqueue_scripts (azione)
$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);
Pagina di amministrazione
<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();
});
});
Azione per cancellare il 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');
Finora questo script funziona per mostrare tutti i file di registro, ora tutto ciò di cui ho bisogno è eliminarli quando faccio clic su #clear_log. So che collegare un do_action su init li cancellerà non appena la pagina viene caricata, rendendo il mio javascript inutile, quindi immagino che l'unica opzione sia ajax! Devo aggiungere un altro riferimento a wp_localize_script ()? Qualsiasi aiuto sarebbe apprezzato.