Ajaxの使い方
functions.phpでレスポンスを生成する
function get_location() {
$location = array(
'latitude' => '42.00',
'longitude' => '122.00'
);
if ($location) {
wp_send_json_success($location);
} else {
wp_send_json_error('位置情報が見つかりません');
}
}
add_action('wp_ajax_{任意のアクション名}', 'get_location'); ※2
add_action('wp_ajax_nopriv_{任意のアクション名}', 'get_location'); ※3
※2 … WordPressにログイン済みのユーザーへのアクション
※3 … WordPressにログインしていないユーザーへのアクション
これによって、https://sample.com/wp-admin/admin-ajax.php にアクセスすると、
{“latitude”:”42.00″,”longitude”:”122.00″} というレスポンスが得られるようになりました。
page.phpでレスポンスをfetchする
function fetchLocation() {
fetch(`<?php echo admin_url('admin-ajax.php'); ?>?action={任意のアクション名}&driver_id=1`)
.then(response => response.json())
.then(data => {
-- 取得したJSONデータの処理 --
})
.catch(error => console.error('位置情報の取得が失敗しました: ', error));
}
page.phpでsetIntervalする
setInterval(fetchLocation, 5000);