누군가 내 문제에 대해 더 조언 할 수 있는지 궁금합니다. 내 플러그인의 일부는 디버깅 목적으로 로그 파일을 저장합니다. jquery 및 wp_localise_script를 사용하여 관리자 페이지의 (div # log)에 성공적으로 표시했습니다. 이 로그를 삭제할 수있는 버튼이 있지만 처리 방법을 잘 모르겠습니다. 나는 아약스가 여기에 유용할지 모르지만 어디서부터 시작 해야할지 모르겠다.
내 코드의 관련 부분은 다음과 같습니다.
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를 클릭 할 때 삭제하면됩니다. init에 do_action을 연결하면 페이지가로드되는 즉시 삭제되어 자바 스크립트가 쓸모 없게되므로 유일한 옵션은 아약스라고 생각합니다! wp_localize_script ()에 대한 다른 참조를 추가해야합니까? 도움을 주시면 감사하겠습니다.