Перейти к содержимому
themeforge
RU
Начать бесплатно
Меню

Исходник на сайте

Обычно ThemeForge берёт исходник по адресу в интернете. Есть второй режим: исходник живёт на вашем хостинге, внутри самого сайта. Вы один раз загружаете ZIP в админке WordPress — дальше тема собирается, обновляется и правится оттуда же. Ни GitHub, ни отдельного хостинга под исходник, ни открытой вкладки браузера.

Когда выбирать этот режим

  • Сайт сгенерирован нейросетью и лежит у вас папкой, а не опубликован по адресу.
  • У вас экспорт из конструктора или обычная статическая вёрстка: HTML, CSS, картинки, шрифты.
  • Вы хотите править разметку прямо на сайте — руками в редакторе или руками помощника-ИИ — и пересобирать тему из админки.

Если исходник опубликован по адресу и правите вы его там же, обычный режим проще: ThemeForge заберёт страницы сам.

Два предупреждения — важнее всего остального

Копия исходника одна, и она на вашем хостинге

ThemeForge не хранит ваш исходник. На сборку уезжают только HTML и CSS: сервер собирает тему и удаляет присланное. Готовый архив удаляется, как только ваш сайт его скачает, и не позже чем через 24 часа. Картинки, шрифты и прочие бинарные файлы вообще никуда не ездят — они раскладываются на вашем сайте локально.

Значит бэкап исходника — это бэкап вашего сайта, и делаете его вы. Хранилище лежит внутри wp-content/uploads, поэтому обычный бэкап-плагин или бэкап хостинга забирает его вместе с сайтом. Сверх этого держите у себя тот самый ZIP, который загружали.

Помощник-ИИ может изменить в исходнике что угодно

Доступ, который вы даёте ИИ, — это доступ не к тексту на страницах, а к самому исходнику: он может переписать страницу целиком, добавить файл и удалить файл. Так задумано — иначе «пересобери эту страницу» невозможно в принципе.

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

Как это устроено

  • В проекте вы ставите галочку «Исходник будет загружен на сайте». Кнопка генерации начинает отдавать бланковую тему.
  • Бланк — настоящая тема: рантайм, панель темы и механика обновления, но без шаблонов страниц. Шаблоны появляются после первой сборки.
  • Загруженный архив распаковывается в приватное хранилище: файлы лежат под хеш-именами, отдаёт их только PHP-роутер и только пользователю, вошедшему в админку. Ссылки, которую можно кому-то переслать наружу, не существует.
  • При обновлении на сборку уходят HTML и CSS, обратно приходит готовая тема и ставится сама. Картинки и шрифты остаются на сайте и раскладываются в тему локально.
  • Поправили исходник — нажали «Обновить» ещё раз. Заново загружать архив не нужно: он уже на сайте.

Шаг 1. Проект в панели ThemeForge

  1. Создайте проект как обычно.
  2. Вместо адреса источника поставьте галочку «Исходник будет загружен на сайте» и подтвердите переключение.
  3. Кнопка генерации превращается в «Скачать бланковую тему», а обновление уезжает в админку сайта — в панели оно больше не нажимается.

Пока архив не загружен, собирать нечего: сборка ответит, что исходник не получен. Это ожидаемо, а не поломка.

Галочку можно снять обратно

Переключение работает в обе стороны и никогда не удаляет ни исходник, ни тему, ни список страниц. Снимете галочку — вернётся сборка по адресу, и для неё понадобится рабочий адрес источника; загруженный на сайт исходник останется лежать и просто перестанет использоваться.

Шаг 2. Бланковая тема

  1. Скачайте бланк из проекта.
  2. В WordPress: Внешний вид → Темы → Добавить → Загрузить тему → выберите ZIP → установите и активируйте.
  3. В меню админки появится раздел ThemeForge с вкладками: «Обновление темы», «Исходник сайта», «Разметка», «ИИ», «Страницы проекта», «Журнал».

Сразу после активации сайт выглядит пустым — шаблонов ещё нет. Они появятся после первой сборки.

Где id проекта и ключ

Нейросеть может собрать тему за вас без панели: отправить архив в проект и получить готовую тему. Для этого ей нужны два значения, а панель их пока не показывает — они внутри скачанной бланк-темы: id проекта в themeforge_origin.php, ключ в tf-update-key.php. Обращайтесь с ключом как с паролем: у кого он есть, тот может собирать этот проект.

Шаг 3. Загрузить архив с сайтом

  1. Откройте ThemeForge → «Исходник сайта».
  2. Выберите ZIP и нажмите «Загрузить исходник».
  3. Экран покажет «Загружено: N файлов, M страниц» — по этим числам сразу видно, что архив дошёл целиком.
Вкладка «Исходник сайта»: сколько файлов и страниц загружено, чего разметка требует, но в архиве нет, и лимит загрузки этого хостинга. Рядом — предпросмотр страниц исходника.
Вкладка «Исходник сайта»: сколько файлов и страниц загружено, чего разметка требует, но в архиве нет, и лимит загрузки этого хостинга. Рядом — предпросмотр страниц исходника.

Что класть в архив

Страницы и ассеты как есть: HTML, CSS, картинки, шрифты. Структура папок сохраняется, поэтому относительные ссылки внутри страниц продолжают работать.

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

Новая загрузка полностью заменяет прежний исходник. Архив всегда целиком, не по кусочкам.

Если архив не долетает

Под полем загрузки написан лимит вашего хостинга. Файл больше него не доходит до WordPress вообще — именно поэтому лимит показан заранее, а не после неудачной попытки.

Лечится в панели хостинга: параметры PHP upload_max_filesize и post_max_size (обычно раздел «Настройки PHP»). Поднимите оба — работает меньший из них — и перезагрузите страницу: лимит на экране обновится.

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

Шаг 4. Список страниц

Вкладка «Страницы проекта» показывает страницы, найденные в архиве, и кнопку «Записать этот список в проект». Список берётся из настоящего состава сайта, а не из догадок, и заменяет тот, что хранится в проекте.

Правила имён: index.html — главная, about.html — /about, вложенные папки сохраняют путь.

Вкладка «Страницы проекта»: слева состав архива с кнопкой «Записать этот список в проект», справа — то, что проект хранит сейчас.
Вкладка «Страницы проекта»: слева состав архива с кнопкой «Записать этот список в проект», справа — то, что проект хранит сейчас.

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

Шаг 5. Собрать тему

  1. Вкладка «Обновление темы» → «Показать кнопку» → «Обновить тему из проекта».
  2. Сайт отправляет HTML и CSS на сборку, получает готовую тему и ставит её сам. Обычно это меньше минуты.
  3. Картинки и шрифты раскладываются из хранилища локально, медиатека при повторных сборках не дублируется.
Вкладка «Обновление темы»: кнопка спрятана под спойлером, рядом журнал обновлений и восстановление предыдущей версии.
Вкладка «Обновление темы»: кнопка спрятана под спойлером, рядом журнал обновлений и восстановление предыдущей версии.

Обновление не может сломать сайт молча

Перед установкой делается копия всего, что архив перезапишет. После установки сайт опрашивает сам себя: главная, поиск, несуществующий адрес. Если новая версия не отрисовалась — она откатывается целиком, а не оставляет вас с белым экраном; если не отрисовалась одна второстепенная страница, к прежней версии возвращается только она.

Итог каждой попытки виден в «Журнале обновлений» рядом с кнопкой — вместе с предупреждениями и проблемными атрибутами именно этой сборки. Кнопка «Восстановить предыдущую версию» возвращает код темы вручную; контент, галереи и ваши файлы она не трогает.

Что переживает обновление: значения полей, галереи, медиатека и ваши собственные файлы — user-functions.php, css/user.css, js/user.js, — плюс всё, что вы перечислили в проекте как не обновляемое.

Шаг 6. Контент в поля

Тема собрана, но поля в админке ещё пустые. Внешний вид → Панель темы → вкладка «Настройки сайта» → блок «Импорт данных сайта» переносит в поля тексты и картинки из исходника.

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

После импорта появляется отчёт: сколько страниц и полей записано и что не записалось с указанием причины. Журнал импорта хранит последние запуски.

Блок «Импорт данных сайта» в панели темы: кнопки идут в том порядке, в каком их нажимают, справа — журнал запусков.
Блок «Импорт данных сайта» в панели темы: кнопки идут в том порядке, в каком их нажимают, справа — журнал запусков.

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

Как править исходник дальше

Исходник лежит на сайте, поэтому и правки идут туда же. Способов три, и они не конфликтуют: каждый меняет один и тот же файл.

Site Editor — вкладка «Разметка»

Открывает страницу исходника прямо в админке: дерево элементов, классы, атрибуты, текст, правила CSS и найденные проблемы разметки. Кнопка «Копировать задание для ИИ» собирает описание выбранного элемента, чтобы отдать его помощнику.

Помощник-ИИ — вкладка «ИИ»

Любые изменения, вплоть до пересоздания страницы. Нужен WordPress 7.0; как подключить — ниже.

Перезалить архив

Запасной путь, который работает всегда: правите исходник у себя любым инструментом и загружаете ZIP заново. Прежний исходник заменяется целиком.

После любой правки сайт не меняется сам по себе: посетители увидят её, только когда вы нажмёте «Обновить тему из проекта».

Site Editor: что он делает и чего не делает

Site Editor, открытый на весь экран в отдельной вкладке: слева дерево страницы с атрибутами, посередине сама страница, справа панель выбранного элемента.
Site Editor, открытый на весь экран в отдельной вкладке: слева дерево страницы с атрибутами, посередине сама страница, справа панель выбранного элемента.

Делает

  • Ставит и снимает атрибуты — ими размечается, где на странице поле, а где повторяющийся блок.
  • Правит текст: по фрагментам между вложенными тегами, а не одним куском.
  • Переставляет элемент выше или ниже среди соседей.
  • Показывает совпадения имён и другие проблемы разметки — до того, как они попадут в тему.
  • Отменяет: последнюю правку или файл целиком, к состоянию до сохранения.

Не делает

  • Это не редактор вёрстки. Стили он показывает, но не меняет: перекроить макет мышью нельзя.
  • Он не создаёт и не удаляет страницы — это умеет помощник-ИИ или перезаливка архива.
  • Он правит исходник, а не живой сайт: до сборки темы посетители изменений не видят.

Так задумано: полноценный визуальный редактор — отдельный продукт, а здесь нужен глаз и контроль над тем, что получилось.

Как подключить помощника-ИИ

Канал для ИИ построен на возможностях самого WordPress 7.0 — «умениях». Тема регистрирует набор умений вокруг исходника: прочитать файл, показать проблемы разметки, заменить фрагмент, переписать страницу, добавить и удалить файл. Ни одно из них не открыто анонимному посетителю.

Свой ИИ внутри сайта

WordPress 7.0 умеет обращаться к моделям сам: ключ провайдера вводится в настройках WordPress, отдельный плагин не нужен. Такой помощник работает от вашего имени и в пределах ваших прав.

Внешний помощник

Чтобы к сайту подключился ИИ снаружи, нужен мост — плагин MCP Adapter. Подключение идёт по паролю приложения (Пользователи → Профиль → Пароли приложений): обычный пароль нигде не вводится, а доступ отзывается одним нажатием.

Вкладка «ИИ» сама пишет, что происходит: сколько умений зарегистрировано, видит ли она мост наружу и сколько умений этот мост открывает от других плагинов — за чужие умения тема не отвечает.

Отдельное умение отдаёт помощнику словарь атрибутов вашей темы и правила размещения, чтобы он размечал по правилам темы, а не по своим представлениям.

Вкладка «ИИ»: доступ помощника, правило «перед тем как записать правку», очередь подтверждений и история изменений с отменой.
Вкладка «ИИ»: доступ помощника, правило «перед тем как записать правку», очередь подтверждений и история изменений с отменой.

Чем рискуете, давая ИИ доступ

Прямо: помощник может испортить разметку, стереть нужный блок или переписать страницу не так, как вы имели в виду. На живой сайт это попадёт только через вашу кнопку «Обновить» — но исходник он меняет по-настоящему.

Запись внешнему помощнику по умолчанию выключена

Чтение разметки доступно всегда, запись — только если вы включили «Разрешить внешнему помощнику менять исходник». Запрет проверяет сама тема, а не плагин-мост: даже если мост согласится передать вызов, тема его не выполнит.

Очередь подтверждений

Правило «Перед тем как записать правку» решает, что применяется сразу, а что ждёт вас. По умолчанию мелкая правка применяется, а перезапись, создание и удаление файла становятся в очередь; можно поставить «Всё ждёт меня» или, наоборот, писать сразу и смотреть журнал. Заявка показывает, что именно предлагается сделать, и ничего не записывает, пока вы не нажмёте «Применить».

Журнал и отмена

Последние изменения исходника хранятся вместе с той версией, которую каждое из них заменило: видно, кто менял — вы во вкладке «Разметка», свой помощник или внешний, — и любое можно отменить. Отмена сама становится записью в журнале, поэтому её тоже можно отменить.

Пересборка темы — только с вашего согласия

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

Сверх этого стоит ограничение скорости: зациклившийся помощник упрётся в лимит записей и получит отказ, а не будет писать бесконечно.

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

Кто что видит на сайте

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

  • Администратор: всё — загрузка архива, правка разметки, сборка темы, настройки помощника, а также скрипты и служебные файлы исходника.
  • Редактор: предпросмотр страниц исходника и чтение их HTML и CSS. Менять разметку он не может.

Отсюда практический вывод: загружайте только свой архив. Всё, что лежит в HTML и CSS чужого шаблона, увидит любой пользователь сайта с правами редактора. Скрипты (js, json, карты исходников) отдаются только администратору — а HTML и CSS остаются открыты редактору намеренно, иначе он не увидит страницу целиком.

Предпросмотр устроен как черновик записи в WordPress: ссылку можно кому-то передать, но откроется она только у вошедшего пользователя с правами. Поисковики страницы исходника не индексируют.

Бэкапы: что вернётся, а что нет

Хранилище исходника лежит внутри wp-content/uploads, поэтому переезжает вместе с сайтом: бэкап-плагин или бэкап хостинга забирает его сам, специально настраивать ничего не нужно.

Из исходника восстанавливается всё сгенерированное: шаблоны страниц, поля, разметка, раскладка картинок и шрифтов.

Что так не вернуть

Ручные надстройки: user-functions.php, css/user.css, js/user.js и правки, внесённые прямо в файлы темы. При обновлении темы они защищены и не перезаписываются — но это другое: защита при обновлении и сохранность при потере сайта не одно и то же.

Практическое правило: держите у себя тот ZIP, который загружали, и включите обычные бэкапы сайта. Этого хватает, чтобы ни одна ошибка — ваша, наша или помощника — не стоила больше получаса.

Если проект в панели пропал

Проект можно удалить, а доступ к аккаунту — потерять. Исходник при этом остаётся на сайте: хранилище привязано к сайту, а не к проекту, и переживает и переустановку темы, и смену её названия.

  1. Создайте новый проект и поставьте в нём галочку «Исходник будет загружен на сайте».
  2. Скачайте новый бланк и поставьте его поверх текущей темы.
  3. Нажмите «Обновить тему из проекта» — сборка пойдёт из исходника, который всё это время лежал на сайте. Загружать архив заново не нужно.

Экран восстановления показывает, сколько файлов и страниц лежит на сайте, и список страниц потерянного проекта — чтобы не набирать его заново. Если исходника на сайте нет, экран так и скажет, вместо того чтобы обещать невозможное.

Граница честная: вернётся сгенерированное. Ручные правки в файлах темы так не восстанавливаются — см. предыдущий раздел.

Типовые вопросы

Обновление ответило, что хостинг обрезал запрос

Значит хостинг закрыл соединение раньше, чем установщик успел отчитаться, — а тема при этом вполне могла установиться. Откройте сайт и зайдите в админку: при следующем заходе обновление доводится до вердикта само — проверяется и, если что-то сломалось, откатывается. Если ничего не изменилось, повторите попытку или поставьте ZIP темы вручную через Внешний вид → Темы → Добавить.

После сборки часть картинок не появилась

Вкладка «Исходник сайта» перечисляет файлы, на которые разметка ссылается, но которых в архиве нет. Обычно это картинки, лежавшие по внешнему адресу, а не в папке сайта. Положите их в архив и загрузите его заново.

Переставил тему — архив грузить заново?

Нет. Хранилище живёт вне темы, поэтому после переустановки экран прямо предложит собраться из уже загруженного исходника. Повторная загрузка нужна только тогда, когда изменился сам исходник.

Собралась только главная

Собирается то, что перечислено в списке страниц проекта. Кнопка «Записать этот список в проект» на вкладке «Страницы проекта» переносит туда настоящий состав архива.

Можно ли работать над проектом вдвоём?

Да: вкладка «Доступ» в проекте пускает в него другого пользователя ThemeForge — порядок описан в разделе «Доступ». Прав на самом сайте это не меняет, ими по-прежнему распоряжается WordPress.