Получить список страниц курса для сборок
const url = 'https://example.com/wp-json/wp2lms/static-builder/v1/pages?blog_id=1';const options = {method: 'GET', headers: {'X-WP-Nonce': '<X-WP-Nonce>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/wp-json/wp2lms/static-builder/v1/pages?blog_id=1' \ --header 'X-WP-Nonce: <X-WP-Nonce>'Возвращает каталог записей post_type=page выбранного сайта, которые можно передать в page_ids при создании или обновлении статической сборки. PHP: PageCatalog::list_pages() — get_posts со статусами publish, draft, private, pending; сортировка menu_order ASC; без пагинации (numberposts=-1).
Это не список уже сохранённых сборок и не запуск генерации. Пустой pages — валидный 200 (на сайте нет страниц).
Query blog_id необязателен: по умолчанию get_current_blog_id(). На мультисайте PHP переключается на этот блог (switch_to_blog), если он в текущей сети.
Нужно manage_network (мультисайт) или edit_pages (одиночный сайт). Cookie + X-WP-Nonce или Application Password.
Authorizations
Заголовок раздела «Authorizations»Parameters
Заголовок раздела «Parameters»Query Parameters
Заголовок раздела «Query Parameters»ID сайта мультисети, на котором читать/писать сборки. Необязательно: PHP берёт get_current_blog_id(). ≤ 0 — 400 invalid_blog. Чужой/несуществующий сайт — 404 blog_not_found. На одиночном сайте обычно не передают.
Example
1Responses
Заголовок раздела «Responses»Каталог страниц сайта. Тело: blog_id (после резолва) и массив pages с id, title, slug, menu_order, status.
object
Сайт, с которого прочитан каталог (после resolve_blog_id / switch_to_blog).
Все подходящие страницы сайта, без пагинации.
object
ID страницы WordPress (WP_Post->ID, post_type=page). Это значение кладут в page_ids сборки.
Заголовок страницы (get_the_title).
Ярлык записи (post_name).
Порядок в меню WP (menu_order); каталог отсортирован по этому полю по возрастанию.
Post_status страницы: publish, draft, private или pending — как отдал get_posts.
Example
{ "blog_id": 1, "pages": [ { "id": 42, "title": "Введение", "slug": "vvedenie", "menu_order": 0, "status": "publish" }, { "id": 57, "title": "Модуль 1", "slug": "modul-1", "menu_order": 1, "status": "draft" } ]}Wp2lms_static_builder_invalid_blog — blog_id ≤ 0 после приведения к int.
object
Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).
Человекочитаемое сообщение ошибки из PHP / WordPress REST.
Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.
object
Example
{ "code": "wp2lms_static_builder_busy", "message": "Build is currently building and cannot be updated.", "data": { "status": 409 }}Не аутентифицирован. DualRest: rest_forbidden (status 401), если нет cookie-сессии. Cookie + X-WP-Nonce или Application Password.
object
Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).
Человекочитаемое сообщение ошибки из PHP / WordPress REST.
Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.
object
Example
{ "code": "wp2lms_static_builder_busy", "message": "Build is currently building and cannot be updated.", "data": { "status": 409 }}Нет права manage_network (мультисайт) или edit_pages (одиночный сайт); невалидный REST nonce rest_cookie_invalid_nonce.
object
Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).
Человекочитаемое сообщение ошибки из PHP / WordPress REST.
Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.
object
Example
{ "code": "wp2lms_static_builder_busy", "message": "Build is currently building and cannot be updated.", "data": { "status": 409 }}Wp2lms_static_builder_blog_not_found — сайта нет или он в другой сети (get_site; сравнение site_id с текущей сетью).
object
Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).
Человекочитаемое сообщение ошибки из PHP / WordPress REST.
Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.
object
Example
{ "code": "wp2lms_static_builder_busy", "message": "Build is currently building and cannot be updated.", "data": { "status": 409 }}