Не все данные пользовательских полей должны находиться в записи. Некоторые данные действительно являются глобальными для сайта:
Без страниц параметров вы бы хранили эти данные в параметрах WordPress (get_option('company_name')), что означает сырые строки без пользовательского интерфейса администратора и без типовой безопасности. С помощью страниц параметров вы получаете правильный интерфейс пользовательских полей и типизированные значения.
В Field Forge зарегистрируйте страницу параметров с помощью одного вызова функции в functions.php вашей темы или в плагине:
«php if (function_exists('fieldforge_add_options_page')) { fieldforge_add_options_page([ 'page_title' => 'Настройки сайта', 'menu_title' => 'Настройки сайта', 'menu_slug' => 'site-settings', 'capability' => 'manage_options', 'icon_url' => 'dashicons-admin-generic', 'position' => 80, ]); } «
Новый элемент меню появляется в админке WordPress. Когда вы нажимаете на него, вы видите экран редактирования, где Field Forge отображает пользовательские поля, назначенные этой странице параметров через правила расположения.
Вы можете зарегистрировать подстраницы под родительской для организации связанных настроек:
«`php fieldforge_add_options_sub_page([ ‘page_title’ => ‘Настройки заголовка’, ‘menu_title’ => ‘Заголовок’, ‘parent_slug’ => ‘site-settings’, ]);
fieldforge_add_options_sub_page([ ‘page_title’ => ‘Настройки подвала’, ‘menu_title’ => ‘Подвал’, ‘parent_slug’ => ‘site-settings’, ]); «`
Подстраницы появляются вложенными под «Настройки сайта» в меню администратора.
После регистрации страницы параметров создайте группу полей в визуальном конструкторе Field Forge и установите правила расположения:
« Правила расположения: Страница параметров равна "site-settings" «
Любые поля в этой группе появляются на странице параметров Настройки сайта. Создавайте столько групп полей, сколько хотите для каждой страницы параметров, логически разделяя (например, «Информация о компании», «Социальные профили», «Контент подвала»).
Получите значения страницы параметров с помощью той же функции get_field(), которую вы используете для метаданных записей, но передайте 'options' в качестве второго аргумента:
«`php // Синтаксис, совместимый с ACF $company_name = get_field(‘company_name’, ‘options’); $company_phone = get_field(‘phone’, ‘options’); $facebook_url = get_field(‘facebook_url’, ‘options’);
// Оба псевдо-ID ‘options’ и ‘option’ работают $logo = get_field(‘site_logo’, ‘option’); // Тот же результат «`
В шаблонах:
«php
«
Тот же синтаксис работает на сайтах ACF, SCF и Field Forge. Портативность кода между тремя плагинами является намеренной — если вам когда-либо нужно будет переключиться между ними, ваша тема не сломается.
Значения страниц параметров хранятся в отдельной таблице: wp_fieldforge_options. Отдельно от значений полей записей, отдельно от родной таблицы WordPress wp_options.
Почему отдельная таблица:
wp_options, не влияют на данные параметров Field ForgeВы можете зарегистрировать столько страниц параметров, сколько нужно вашему сайту:
«`php // Глобальный брендинг fieldforge_add_options_page([ ‘page_title’ => ‘Настройки бренда’, ‘menu_slug’ => ‘brand-settings’, ]);
// Маркетинговая конфигурация fieldforge_add_options_page([ ‘page_title’ => ‘Маркетинг’, ‘menu_slug’ => ‘marketing’, ]);
// Разработчик / расширенные настройки fieldforge_add_options_page([ ‘page_title’ => ‘Настройки разработчика’, ‘menu_slug’ => ‘dev-settings’, ‘capability’ => ‘manage_options’, // только для администраторов ]); «`
Каждая страница параметров имеет свои собственные группы полей, свои требования к правам и свое размещение в меню.
Страницы параметров ACF автоматически импортируются инструментом миграции ACF от Field Forge. После импорта:
functions.php)get_field('name', 'options'), продолжает работать через слой совместимости ACFБольшинство сайтов завершают миграцию страниц параметров без изменений в шаблонах.
Смотрите полный гид по миграции →
Значения страниц параметров доступны через REST API Field Forge:
« GET /wp-json/fieldforge/v1/options/{page-slug} «
Возвращает объект со всеми значениями полей для указанной страницы параметров. Идеально подходит для безголовых сайтов WordPress, которым нужны глобальные настройки сайта на фронтенде JavaScript.
Для пользователей WPGraphQL страницы параметров также автоматически регистрируются как типы GraphQL, когда плагин WPGraphQL активен.
Получите Field Forge — от $35/год →
Страницы параметров включены в каждый платный план.