Как автоматически обновить только одно поле формы в WordPress

Как автоматически обновить / перезагрузить одну часть сайта WordPress. Пример: мне нужно автоматически перезагружать одно поле в форме каждые 1000 мс?

У меня есть этот короткий код в одном поле формы гравитации:

<?php

 function displaydate(){
     return date('g:i:s');
}
add_shortcode( 'date', 'displaydate' );

[Дата]

Он показывает текущее время, но не перезагружается, поэтому показывает не текущее время, а время загрузки страницы.

Мне нужно перезагрузить это поле, но только это поле, а не всю страницу.

1 ответ

Этот фрагмент JS обновляет поле формы времени каждую секунду, используя указанный вами формат (чч: мм: сс). Это запустится в браузере клиента, поэтому вам не понадобится шорткод или обновление страницы.

var nowFn = setupNowFn('time', false);
nowFn(); //call immediately
setInterval(nowFn, 1000); //call again every sec

function setupNowFn(id, militaryTime) {
  return function setNow() {
    var date = new Date();
    var hours = date.getHours();
    var mins = ('0' + date.getMinutes()).slice(-2);
    var secs = ('0' + date.getSeconds()).slice(-2);
    
    if(!militaryTime) {
      hours = hours % 12;
      hours = (hours)? hours : 12;
    }
   
    hours = ('0' + hours).slice(-2);
    var now = hours + ':' + mins + ':' + secs;
    document.getElementById(id).value = now; 
  };
}
<input id="time" type="text"/>

Другие вопросы по тегам