Tôi tự hỏi nếu có ai có thể tư vấn cho tôi thêm về vấn đề của tôi. Một phần của plugin của tôi lưu trữ các tệp nhật ký cho mục đích gỡ lỗi. Tôi đã hiển thị thành công chúng trong một (div # log) trong trang quản trị của mình bằng jquery và wp_localise_script. Tôi có một nút để xóa các nhật ký này nhưng tôi không chắc làm thế nào để xử lý này. Tôi có cảm giác rằng ajax có thể có ích ở đây nhưng không biết bắt đầu từ đâu.
Đây là phần có liên quan trong mã của tôi:
admin_enqueue_scripts (hành động)
$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);
Trang quản trị
<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();
});
});
Hành động để xóa nhật ký
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');
Cho đến nay tập lệnh này đang hoạt động để hiển thị tất cả các tệp nhật ký, bây giờ tất cả những gì tôi cần là xóa chúng khi nhấp vào #clear_log. Tôi biết việc cắm một do_action trên init sẽ xóa chúng ngay khi tải trang, làm cho javascript của tôi trở nên vô dụng nên tôi đoán tùy chọn duy nhất là ajax! Tôi có cần thêm một tham chiếu khác vào wp_localize_script () không? Bất kỳ trợ giúp sẽ được đánh giá cao.