Как автоматически подстраивать высоту iframe для встроенных записей WordPress

Уф, наконец-то получилось. Проблема была в том, что я использовал пользовательский класс для тега iframe, а Discourse удаляет все такие теги. Мне стоило сделать выводы из ситуации несколько дней назад (Formatting posts to look more like Wordpress blog - #6 by jimkleiber). Я читал, что это ограничение связано с безопасностью, из-за чего пользовательские HTML-классы здесь не работают, но не совсем понимаю почему :confused:

Тем не менее, вот код для подстройки высоты iframe с помощью селектора .topic-body iframe (не уверен, что он подойдёт всем, но у меня работает):

<script type="text/discourse-plugin" version="0.8.18">
    api.decorateCookedElement(
      element => {
        setTimeout(function() {
          let iframes = element.querySelectorAll('.topic-body iframe');
          if (iframes) {
            iframes.forEach(function(iframe) {
              iframe.onload = function() {
                let iframeDocument = this.contentDocument || this.contentWindow.document;
                let contentHeight = Math.max(
                  iframeDocument.body.scrollHeight,
                  iframeDocument.documentElement.scrollHeight
                ) + 'px';
                this.style.height = contentHeight;
              };
            });
          }
        }, 5000); // При необходимости измените задержку                  
      },
      { id: "component-id", onlyStream: true}
    );
</script>

РЕДАКТИРОВАНИЕ: на самом деле, это не работает. Я добавил height="4000px" прямо в тег iframe, и именно поэтому всё выглядело рабочим, думаю.