Несмотря на множество положительных моментов в WordPress, у него есть некоторые неудобства, в первую очередь для разработчиков. Основная команда WordPress не уделяет приоритетного внимания проблемам разработчиков — вместо этого они сосредоточены на конечных пользователях и легкости для начала разработки сайтов WordPress. Carbon Fields – это плагин, основной задачей которого является сделать WordPress более удобной для разработчиков платформой веб-разработки. Этот плагин является альтернативой ACF и многие функции, которыми в ACF можно воспользоваться платно, в Carbon Fields абсолютно бесплатны. Carbon fields — это библиотека, которая позволяет легко создавать пользовательские (мета) поля в панели администрирования WordPress. Это позволяет разработчикам темы связывать метаинформацию с различными объектами на сайте WordPress (такими как сообщения, термины таксономии, виджеты и т. д.). Carbon fields можно установить через composer (требует htmlburger/carbon-fields) или пакетно. Библиотека поддерживает PHP 5.3+ и использует пространства имен PHP. Основными компонентами библиотеки являются:
  • Container-представляет и управляет группой полей.
  • Field -представляет собой одно поле.
  • Data Storage -управляет базовым хранилищем данных для значений полей.

Установка Carbon Fields

Если вы не хотите использовать composer для установки Carbon Fields, вы можете использовать один из готовых пакетов:
  1. Для начала нужно скачать плагин здесь: https://carbonfields.net/zip/latest/ или посетите https://carbonfields.net/release-archive/ и выберите версию вручную.
carbon fields
  1. Затем загрузить .zip с помощью кнопки «Загрузить плагин» из админ-панели — плагины — > добавить новый.
carbon fields Добавьте в начало файла functions.php следующие строки:  
use Carbon_Fields\Container;

use Carbon_Fields\Field;




add_action( 'carbon_fields_register_fields', 'crb_attach_theme_options' );

function crb_attach_theme_options() {

Container::make( 'theme_options', __( 'Theme Options' ) )

->add_fields( array(

Field::make( 'text', 'crb_text', 'Text Field' ),

) );

}
  Откройте / wp-admin / — теперь у вас есть новый раздел в админ-панели под названием «Theme Options» с текстовым полем. carbon fields Или, для удобства, можно создать отдельную папку в корне темы для плагина, например под названием Carbon_Fields, в ней папку custom-fields-options (можно назвать как вам удобно). А в этой папке создать 2 файла — metabox.php и theme-optons.php, соответственно для создания дополнительных полей к записям и страницам и для создания произвольных полей в админ-панели. Осталось подключить их в functions.php  
use Carbon_Fields\Container;

use Carbon_Fields\Field;

add_action( 'carbon_fields_register_fields', 'crb_register_custom_fields' );

function crb_register_custom_fields() {

// путь к пользовательскому файлу определения поля (полей), измените под себя

require_once __DIR__ . '/inc/custom-fields-options/metabox.php';

require_once __DIR__ . '/inc/custom-fields-options/theme-optons.php';

}
Теперь этот фрагмент
<?php
    use Carbon_Fields\Container;
use Carbon_Fields\Field;

    Container::make( 'theme_options', __( 'Theme Options' ) )

->add_fields( array(

Field::make( 'text', 'crb_text', 'Text Field' ),

) );
Вставим в файл ‘theme-optons.php’
Это делается для того, чтобы не раздувать functions.php особенно если вы планируете создавать много дополнительных полей. Также можно не загружать плагин через админ панель, а установить его как библиотеку. Переходим по ссылке carbonfields.net и скачиваем нужную нам версию архива CF. Потом перемещаем папку carbon-fields в папку с темой или в нужный каталог и подключаем файл carbon-fields-plugin.php в файле functions.php следующим образом:
require_once get_stylesheet_directory().'/inc/carbon-fields/carbon-fields-plugin.php';