Не работает скрипт калькулятора (JS), формы и др. в подгружаемых постах

Обычно скрипты не приспособлены работать в динамическом контенте, поэтому часто они и не работают в подгружаемых записях.

В шаблон добавлен триггер journalx_load_post, который срабатывает после загрузки предыдущей и следующей записи. На него можно цеплять обновление скриптов. Какой именно код, может подсказать разработчик скрипта, который не работает в подгружаемых записях. Вот как выглядит JS для работы с триггером.

$(document).on('journalx_load_post', function() {
    setTimeout(function(){
        // здесь нужно вызвать код, который сработает через 100мс после загрузки поста
    }, 100);
});

Ниже готовый код для плагина ProFunctions, он добавляет вывод JS в подвал сайта, который привязан к триггеру. Вам остается только разместить в нем нужный код.

add_action( 'wp_enqueue_scripts', function () {

   $js = <<<JS
    jQuery(function($) {
        $(document).on('journalx_load_post', function (){
            setTimeout(function(){
        
                // здесь JS код, который необходимо вызвать после загрузки поста
                
            }, 100);
        });
    });
JS;

   wp_add_inline_script( 'journalx-scripts', $js );
}, 20 );

Иногда нужно просто продублировать код из основного файла скрипта. Например, чтобы работал лайтбокс в подгружаемых записях, добавлен следующий код:

$('.entry-content').find("a:has(img)").wpshoplightbox();

Другой случай, который пока остается без решения.

Когда скрипт использует document.write для вывода своего кода. Зачастую после подгрузки нового поста экран становится белым. Это особенность работы метода document.write.

Методы document.write и document.writeln пишут напрямую в текст документа, до того как браузер построит из него DOM. Источник.

Что это обозначает? После загрузки страницы нельзя использовать document.write для вывода кода. Его необходимо заменить, например, написать вне скрипта. Если вы не можете повлиять на данный код, от него придется отказаться. Но такой случай был всего 1 раз за всю практику.

Вам помог ответ?
Похожие вопросы
Как на мобильном "Меню в шапке" вывести под "Меню под шапкой"?
+9
Как изменить адрес страницы, с которой было отправлено сообщение?
+5
Как вывести содержание поста (оглавление)?
+5
Как добавить фавикон?
+48
Почему не отображаются иконки на профили в социальных сетях?
+4
Как в встроенную форму обратной связи добавить защиту от спама?
+31
Как выровнять слева кнопку Наверх?
+3
Как вывести блок автора на странице записи?
+3
Как в рекламные блоки вставить код php?
+3
Как вставить Instagram запись?
+2
Как добавить рекламу?
+2
Как вручную изменить рейтинг?
+2
Как добавить рандомное количество просмотров?
+2
Миниатюры неправильного размера (растянутые, квадратные, обрезанные и т.д.)
+18
Как убрать поле "Сайт" из формы комментирования?
+18
Как вывести рекламу на страницах?
+14
Как изменить почту, на которую приходят сообщения с формы обратной связи?
+13
Как изменить поле telephone в микроразметке?
+13
Как изменить количество записей на главной и в рубриках блога
+12
Поддерживает ли тема английский язык?
+12