我想每30秒更新一次WordPress小部件中的信息。因此,我认为我最好使用一些Ajax。
我在WordPress Codex找到了这个,并将其添加到我的functions.php:
add_action( 'admin_footer', 'my_action_javascript' ); // Write our JS below here
function my_action_javascript() { ?>
<script type="text/javascript" >
jQuery(document).ready(function($) {
var data = {
'action': 'my_action',
'whatever': 1234
};
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
jQuery.post(ajaxurl, data, function(response) {
alert(response);
});
});
</script> <?php
}
add_action( 'wp_ajax_my_action', 'my_action_callback' );
function my_action_callback() {
global $wpdb; // this is how you get access to the database
$bla = get_option("airtime_now_playing");
echo $bla;
wp_die(); // this is required to terminate immediately and return a proper response
}
它工作正常,并检索我需要的东西。
我怎样才能每隔30秒开一次这个?
非常感谢!
答案 0 :(得分:3)
您需要使用setTimeout
功能。
仅供参考:如果您需要在30秒后仅启动一次ajax调用,则需要使用等待30秒的setInterval(function(){
jQuery.post(ajaxurl, data, function(response) {
alert(response);
});
}, 30000);
,然后再执行一次。
<span>{{ foo.translationID | translate }}</span>