Несмотря на множество положительных моментов в 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, вы можете использовать один из готовых пакетов:
- Для начала нужно скачать плагин здесь: https://carbonfields.net/zip/latest/ или посетите https://carbonfields.net/release-archive/ и выберите версию вручную.
- Затем загрузить .zip с помощью кнопки «Загрузить плагин» из админ-панели — плагины — > добавить новый.
Добавьте в начало файла 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, в ней папку 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';