Фреймы: оболочка вместо шаблона темы

Egor

Во второй версии OnPress внешний вид страницы задаёт не файл темы, а фрейм — готовая разметка, залитая по API и хранящаяся в опциях сайта. Эта страница открыта именно так: её обложка, строка рубрик, заголовок и текст расставлены фреймом «Статья», а не шаблоном single.php.

Разница практическая, а не терминологическая. Шаблон поставляется вместе с темой: чтобы получить свой, надо править тему, а значит иметь доступ к файлам и деплою. Фрейм заливается запросом, копируется и правится кем угодно, у кого есть токен, — и живёт на конкретном сайте сети, не задевая остальные.

Что внутри оболочки

Сама разметка статична, а всё меняющееся расставлено вставками — блочными комментариями WordPress с JSON-атрибутами. В этой оболочке их четыре вида: op/frame подтягивает шапку и подвал, op/featured-image печатает обложку записи как <picture> с размерами, op/terms выводит рубрики ссылками, op/content ставит на место сам текст.

Вставка материализуется при печати фрейма, а не на каждый запрос. Поэтому смена меню или набора данных сама по себе на странице не появится — сервис перепекает зависимые фреймы сам, а изменение, сделанное мимо API, догоняется ручкой перепечки.

Где про это прочитать

Устройство фреймов, имена по БЭМ, связи ссылками op/frame и привязка к странице — в разделе Фреймы. Каталог вставок и словарь биндингов — в разделе Вставки и биндинги. Как страница попадает на сайт из markdown — в разделе Страницы и markdown.