Je me demande si quelqu'un pourrait me conseiller davantage sur mon problème. Une partie de mon plugin stocke des fichiers journaux à des fins de débogage. J'ai réussi à les afficher dans un (div # log) dans ma page d'administration en utilisant jquery et wp_localise_script. J'ai un bouton pour supprimer ces journaux mais je ne sais pas comment traiter cela. J'ai le sentiment que l'ajax pourrait être utile ici, mais je ne sais pas par où commencer.
Voici les parties pertinentes de mon code:
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);
Page Admin
<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();
});
});
Action pour effacer le journal
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');
Jusqu'à présent, ce script fonctionne pour afficher tous les fichiers journaux, maintenant tout ce dont j'ai besoin est de les supprimer en cliquant sur #clear_log. Je sais que brancher une do_action sur init les supprimera dès que la page se chargera, rendant mon javascript inutile donc je suppose que la seule option est ajax! Dois-je ajouter une autre référence à wp_localize_script ()? Toute aide serait appréciée.