nulledbox
@nulledbox

Как сделать правильный обратный счетчик и появление контента?

Много решений перебрал, но не нашел рабочего.

Имеется вордпресс, в полной новости в конце статьи необходим счетчик к примеру 10 секунд и появятся данные с поля Advanced Custom Fields PRO:

<?php the_field( 'link' ); ?>

Все варианты выбивают ошибку в консоле и не работает.
Тема Pluto 4.3.0
Скрин консоли прилагаю.
5ff788c643eae316170741.jpeg

Спасибо.
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ответы на вопрос 2
nulledbox
@nulledbox Автор вопроса
Использовал это в файле single-content.php:

<script>
(function(d){
  var display = d.querySelector('#countdown .display') // меняющаяся цифра
	var timeLeft = parseInt(display.innerHTML) // оставшееся время
  
  var timer = setInterval(function(){
    if (--timeLeft >= 0) { // если таймер всё еще больше нуля
    	display.innerHTML = timeLeft // обновляем цифру
    } else {
    	d.querySelector('#countdown h1').style.display = 'none' // прячем теекст
      d.querySelector('#countdown button').style.display = 'block' // показываем кнопку
      clearInterval(timer) // удаляем таймер
    }
  }, 1000)  // таймер срабатывает каждые 1000 msec (1 sec)
})(document)
</script>

<div id="countdown">
  <h1>Ожидайте <span class="display">10</span> секунд</h1>
  <button style="display: none;">Bang!</button>
</div>
Ответ написан
solidcreature
@solidcreature
WordPress-митапы в Москве (vk.com/wpmeetup)
Здравствуйте. jQuery запускается в WordPress в compatibility mode и $ не работает. Поэтому простое копирование решений из интернета часто не помогает. Судя по логу, это ваш случай.

Как обойти #1
jQuery(document).ready(function($){
  //Код из интернета с использованием jQuery
});


Как обойти #2
Обычно делаю проще и перед кодом с $ пишу следующую строчку
$ = jQuery;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы