ฉันสงสัยว่าใครสามารถให้คำแนะนำฉันเพิ่มเติมเกี่ยวกับปัญหาของฉัน ส่วนหนึ่งของปลั๊กอินของฉันเก็บไฟล์บันทึกสำหรับการดีบัก ฉันได้แสดงให้พวกเขาประสบความสำเร็จใน (div # log) ในหน้าผู้ดูแลระบบของฉันโดยใช้ jquery และ wp_localise_script ฉันมีปุ่มเพื่อลบบันทึกเหล่านี้ แต่ฉันไม่แน่ใจว่าจะดำเนินการอย่างไร ฉันมีความรู้สึกว่าอาแจ็กซ์อาจมีประโยชน์ที่นี่ แต่ไม่แน่ใจว่าจะเริ่มจากตรงไหน
นี่คือส่วนที่เกี่ยวข้องในรหัสของฉัน:
admin_enqueue_scripts (การกระทำ)
$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);
หน้าผู้ดูแลระบบ
<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>
จาวาสคริ
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();
});
});
การดำเนินการเพื่อล้างบันทึก
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');
จนถึงตอนนี้สคริปต์นี้กำลังทำงานเพื่อแสดงไฟล์บันทึกทั้งหมดตอนนี้สิ่งที่ฉันต้องทำก็คือลบไฟล์เมื่อคลิก #clear_log ฉันรู้ว่าการเสียบ do_action บน init จะลบออกทันทีที่โหลดหน้าเว็บทำให้จาวาสคริปต์ของฉันไร้ประโยชน์ดังนั้นฉันเดาตัวเลือกเดียวคือ ajax! ฉันต้องเพิ่มการอ้างอิงอื่นไปยัง wp_localize_script () หรือไม่ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม