Обзор
Начиная с ACF 6.1 вы можете регистрировать пользовательские типы записей и пользовательские таксономии, а также произвольные поля, превращая WordPress в полноценную систему управления контентом.
Регистрация пользовательских типов записей
Типы записей отлично подходят для хранения объектов данных, отличных от записей и страниц, а WordPress предоставляет админский интерфейс для управления вашими данными и структуру URL для просмотра их на фронтенде сайта.
Узнайте, как зарегистрировать пользовательский тип записи с помощью ACF.
Регистрация пользовательских таксономий
Таксономии используются для классификации и категоризации отдельных записей в рамках типа записи. WordPress предоставляет админский интерфейс для управления терминами в таксономии и категоризации записей с помощью терминов.
Узнайте, как зарегистрировать пользовательскую таксономию с помощью ACF.
Экспорт & импорт
Важно, чтобы определения типов записей и таксономий были как можно более переносимыми и пригодными для повторного использования, поэтому мы применили к ним ту же функциональность, что и к произвольным полям. Поддерживаются экспорт PHP, экспорт и импорт JSON, локальный JSON и синхронизированный JSON, а также импорт типов записей и таксономий, созданных плагином Custom Post Type UI (CPTUI).
Экспорт PHP
Когда вы выбираете типы записей или таксономии в метабоксе «Экспорт» на странице «Инструменты» и нажимаете Сгенерировать PHP, сгенерированный PHP представляет собой нативную функцию регистрации WordPress. Это позволяет легко использовать ACF для генерации типов записей и таксономий, а затем просто брать код и использовать его на своих сайтах:
После того как вы экспортировали пользовательский тип записи или таксономию в PHP и включили их в свою тему или плагин, ими больше нельзя управлять на админ-страницах ACF, и вы можете безопасно удалить их из ACF.
Импорт из Custom Post Type UI
Мы понимаем, что у многих пользователей плагин Custom Post Type UI (CPTUI) используется вместе с ACF, и со временем может возникнуть желание объединить типы записей, таксономии и поля в ACF. Чтобы помочь с этим, мы разработали отдельный инструмент импорта, позволяющий перенести в ACF типы записей и таксономии, созданные в CPTUI.
Когда плагин CPTUI активен и в нем уже созданы типы записей и таксономии, ACF покажет уведомление в админке плагина, сообщающее, что ACF теперь может управлять ими, со ссылкой на страницу «Инструменты» для выполнения импорта. В метабоксе «Импорт» на странице «Инструменты» появился новый раздел, где можно выбрать импорт типов записей, таксономий или и того и другого из CPTUI.
Нажмите кнопку Импорт из Custom Post Type UI, чтобы начать процесс. После успешного импорта вы можете безопасно деактивировать плагин CPTUI. Импорт не удаляет данные плагина CPTUI. Мы рекомендуем деактивировать плагин CPTUI после импорта, чтобы убедиться, что не зарегистрированы дублирующиеся типы записей и таксономии.
Дополнительно
Отключение CPT и таксономий
Не всем пользователям ACF нужна эта часть плагина, и они предпочтут продолжать использовать существующий процесс регистрации типов записей и таксономий. Можно отключить типы записей и таксономии и убрать эту функцию из админки плагина.
Добавление пользовательских настроек и вкладок
Сторонние разработчики могут настраивать экраны редактирования типов записей и таксономий, добавляя пользовательские настройки в интерфейс с помощью следующих фильтров:
acf/post_type/render_settings_tab/$tab-keyacf/taxonomy/render_settings_tab/$tab-key
Используйте функцию acf_render_field_wrap(), чтобы добавлять настройки к типам записей и таксономиям, вместо функции acf_render_field_setting(), которая обычно используется для добавления настроек к полям.
Функция acf_render_field_setting() предполагает, что в качестве первого параметра вы передаете поле ACF, что может привести к ошибкам. Функция acf_render_field_wrap() вместо этого создает поле ввода на основе массива «псевдополя», который вы передаете:
add_action('acf/post_type/render_settings_tab/graphql-settings', function ($acf_post_type) {
acf_render_field_wrap(
array(
'label' => 'Только для админки',
'instructions' => '',
'name' => 'admin_only',
'prefix' => 'acf_post_type',
'value' => isset( $acf_post_type['admin_only'] ) ? $acf_post_type['admin_only'] : false,
'type' => 'true_false',
'ui' => 1,
)
);
});
Если вам также нужно передать эту настройку в функцию ядра WordPress register_post_type(), обязательно используйте acf/post_type/registration_args:
add_filter( 'acf/post_type/registration_args', function( $args, $post_type ) {
if ( isset( $post_type['admin_only'] ) ) {
$args['admin_only'] = (bool) $post_type['admin_only'];
}
return $args;
}, 10, 2 );
Также можно добавлять пользовательские вкладки в метабокс «Дополнительные настройки», используя следующие фильтры:
acf/post_type/additional_settings_tabsacf/taxonomy/additional_settings_tabs
Например, чтобы добавить на экран типа записи новую вкладку под названием «Мои настройки», используйте:
add_filter( 'acf/post_type/additional_settings_tabs', function ( $tabs ) {
$tabs['my-settings'] = 'Мои настройки';
return $tabs;
} );
Обновлено: 01.06.2026


