Приветствую всех, кто зашёл в эту тему!
Вопрос такой, использую запись ip в файл txt на сайте wordpress.
Следующий код работает и записывает ip в файл, если его поместить на страницу:
$ip = $_SERVER['REMOTE_ADDR'];
$data = $ip."\r\n";
file_put_contents('test.txt', $data, FILE_APPEND);
Но, мне нужно что бы ip записывался через определенное время, подумал, что использовать setTimeout и AJAX будет правильным, и написал следующее:
jQuery(document).ready(function($){
let ipklienta = '<?php echo $ip ?>';
function zapis_ip() {
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: "POST",
data: {
action: 'zapis_ip',
ipklienta: ipklienta,
},
success: function (data) { }
});
}
setTimeout(zapis_ip, 10000);
});
В function.php прописываю следующее:
add_action("wp_ajax_zapis_ip", "k_ajax_zapis_ip");
add_action("wp_ajax_nopriv_zapis_ip", "k_ajax_zapis_ip");
function k_ajax_zapis_ip(){
$ipklienta = $_POST['ipklienta'];
$zapis = "записалось ".$ipklienta."\r\n";
file_put_contents('test.txt', $zapis, FILE_APPEND);
}
Но ничего не записывается... вопрос: Почему? Хотя ajax срабатывает, если прописать alert в success.
Или есть другой способ запустить запись в файл через определенное время?
Главная суть тут, нужна запись если пользователь не ушёл с сайта.