Взаимодействие между компонентом темы, JavaScript темы и "предпросмотрами"

К сожалению, не существует JavaScript API для изменения ‘отрывков’ тем в списке тем. Компоненты тем также не имеют доступа к контенту, рендерящемуся на стороне сервера (например, к письмам), по соображениям безопасности. Если вы хотите изменить письма, вам придется использовать плагин.

Однако мне интересно, можем ли мы решить эту задачу другим способом. Сейчас вы вставляете что-то вроде этого в редактор:

<div data-custom="umbdv">/vmm/longstringhere</div>

Вместо этого вы можете сделать следующее:

<div data-custom="umbdv" data-theme-longstring="/vmm/longstringhere">
  резервный контент для писем/отрывков
</div>

Или, если вы хотите проявить особую изысканность, вы можете использовать универсальный обертку BBCode:

[wrap=umbdv longstring="/vmm/longstringhere"]
Резервный контент
[/wrap]

Это автоматически сгенерирует div-элемент, похожий на:

<div class="d-wrap" data-wrap="umbdv" data-longstring="/vmm/longstringhere" dir="ltr">
<p dir="ltr">Резервный контент</p>
</div>

Затем вам нужно будет доработать код вашего компонента темы, чтобы он удалял резервный контент и заменял его тем, что вы хотите отобразить.