Генератор

WordPress + ACF — конструктор запросов

Генератор

Автозагрузка с сайта

Введите URL сайта WordPress, чтобы автоматически подтянуть типы записей и таксономии в выпадающие списки.

⚠️ Отключить плагин кэша. Если при загрузке возникла ошибка "CORS", требуется доступ к REST API и разрешённые CORS-запросы то добавить в:

custom_functions.php

// Разрешаем CORS для REST API
add_action( 'rest_pre_serve_request', function( $value, $result, $request ) {
  // Разрешаем запросы с любого домена (для генератора)
  header( 'Access-Control-Allow-Origin: *' );
  header( 'Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS' );
  header( 'Access-Control-Allow-Credentials: true' );
  header( 'Access-Control-Allow-Headers: Authorization, Content-Type, X-WP-Nonce' );
  // Обрабатываем preflight запросы (OPTIONS)
  if ( $request->get_method() === 'OPTIONS' ) {
      status_header( 200 );
      exit();

  }

}, 10, 3 );


Если не помогло, то добавим код в самое начало .htaccess
  Header always set Access-Control-Allow-Origin "*"
  Header always set Access-Control-Allow-Methods "GET, OPTIONS"
  Header always set Access-Control-Allow-Headers "Authorization, Content-Type"



# BEGIN WordPress

Так же проверить доступность REST API.

https://ВАШ_САЙТ.com/wp-json/wp/v2/types?context=view

URL сайта
Тип записи и основные параметры
post_type слаг типа записи
posts_per_page -1 = все
4
-1
~50
100
post_status
offset пропустить N записей
0
0
25
50
orderby
order

Включите если запрос находится внутри архивной страницы, каталога или шаблона рубрики. А также если на сайте установлен WPML или Polylang.

Без этой опции плагины не смогут повлиять на выборку — записи могут выводиться на неправильном языке, а кастомные фильтры (posts_where, posts_join) не сработают.

Включите если в этом запросе нет пагинации. WordPress не будет считать общее количество записей — запрос выполнится быстрее. Не включайте если используете пагинацию — она перестанет работать.

Параметры таксономии
taxonomy
number 0 = без ограничений
3
0
50
100
orderby
order

orderby — по какому признаку сортировать термины. order — направление: ASC от меньшего к большему (А→Я), DESC наоборот.

exclude ID через запятую

exclude — скрыть конкретные термины по их ID. Самый частый случай — скрыть рубрику «Без рубрики» (ID: 1).

Уровень вложенности — parent

Определяет какие категории выводить по уровню вложенности.

Все термины — без фильтра по уровню, выводит всё дерево.

Только верхний уровень — термины у которых нет родителя (parent = 0).

Подкатегории текущей — дочерние термины той страницы-архива на которой находится пользователь.

Сиблинги 2-го уровня — соседние термины того же родителя что и текущий.

Из ACF поля — ID родителя берётся из поля ACF текущего термина.

Указать parent ID — вручную задать ID родительского термина.

По слагу родителя — parent берётся через get_term_by() по слагу.

Что выводить
Имя ACF поля (term meta)
Parent ID
Слаг родительской категории
Счётчик записей
Вариант счётчика
Слаг post_type
Слаг таксономии
Форма: 1 результат
Форма: 2–4 результата
Форма: 5+ результатов

⚠ Требует функцию plural_form() в custom_functions.php. Добавьте её один раз — потом используйте везде.


function plural_form($number, $forms) {    $abs = abs($number);    $mod10 = $abs % 10;    $mod100 = $abs % 100;    if ($mod100 >= 11 && $mod100 <= 19) {        return $number . ' ' . $forms[2]; // 11-19 → результатов    }    if ($mod10 === 1) {        return $number . ' ' . $forms[0]; // 1, 21, 31 → результат    }    if ($mod10 >= 2 && $mod10 <= 4) {        return $number . ' ' . $forms[1]; // 2-4, 22-24 → результата    }    return $number . ' ' . $forms[2]; // 5+, 0 → результатов}

Следующая / предыдущая запись

Используется внутри одиночной записи (single.php, шаблон записи в Webflow/Bricks). Позволяет получить следующую или предыдущую запись относительно текущей по дате публикации
Направление
post_type тип записи
posts_per_page сколько записей
1
1
5
10
WP_Query — аргументы
вставить в поле (value) Custom Attribute webflow

Код для цикла while
ACF поля — внутри цикла
этот код идёт ВНУТРИ while( have_posts() ) : the_post();
Вставить в functions.php
pre_get_posts — functions.php
изменяет основной запрос страницы

Выводит стандартные записи, отфильтрованные по рубрике. Термин берётся из переменной

$term->term_id
— используется внутри цикла
foreach
по категориям, когда нужно для каждой категории отдельно вывести свой блок записей. Например, страница «Новости по темам» — блок «Технологии», блок «Бизнес», блок «Наука». Внутри каждой категории — только свои записи.

Выводит записи кастомного типа, отфильтрованные по кастомной категории. Термин берётся из

$term->term_id
— используется внутри цикла
foreach
, когда нужно для каждой категории отдельно вывести свой блок. Например, страница «Каталог услуг»: блок «Ремонт», блок «Монтаж», блок «Обслуживание» — внутри каждого только свои записи. Дополнительно записи можно скрыть или показать через поле ACF — например, партнёрские или черновики.


Важно: фильтр по ACF-полю работает только если поле заполнено у записи. Если поле пустое — запись в выборку не попадёт.

Выводит записи, отфильтрованные по значению поля ACF. Например, показать только записи где поле

partner
не равно
1
— то есть скрыть партнёрские или служебные материалы. Замените
partner
и
1
на свои значения.

Выводит товары WooCommerce, привязанные к конкретной категории. Категория берётся из

$term->term_id
— используется внутри цикла
foreach
по категориям товаров, когда нужно вывести блок товаров для каждой категории отдельно.

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

Выводит записи постранично. Автоматически подхватывает текущий номер страницы из URL. Используется в архивах и каталогах где записей много и их нужно разбить на страницы по 10 штук.

Выводит записи типа «designer», отфильтрованные по таксономии designer-tag. Термин берётся из переменной

get_queried_object_id()
— используется внутри цикла
foreach
, когда нужно для каждой категории дизайнеров отдельно вывести свой блок записей. Например, страница «Дизайнеры по направлениям»: блок «Графические», блок «Веб-дизайн», блок «UI/UX» — внутри каждого только свои дизайнеры.

Выбрать...
  • date — по дате публикации
  • title — по заголовку (А-Я)
  • menu_order — по порядку в меню
  • rand — случайный порядок
2026 © allvisio.
Все права защищены политикой конфиденциальности