FAQ

General

Which is the minimum PHP version, supported by Carbon Fields?

We support PHP 5.3+.

Is Carbon Fields completely free?

Yes.

Can I use Carbon Fields for commercial purposes?

Sure, go ahead! It is completely open source.

Is Carbon Fields available as a Composer package?

Yes. The package name is htmlburger/carbon-fields. You can include it in your project by executing the following command:

composer require htmlburger/carbon-fields

Features

I don’t know much about PHP. Do you have an administration interface for creating containers and fields?

Nope. Our goal is to provide developers with an elegant and expressive code syntax to build containers and fields within WordPress.

What types of content does Carbon Fields support?

Carbon Fields supports literally all content types that you can think of. In addition to the full support for post typestaxonomy terms, users and comments, Carbon Fields allows you to create custom option pages and subpages, as well as custom widgets with your preferred fields. You can even create custom fields in your navigation menus.

What are the supported field types?

There is a whole bunch of them:

  • Text – simple text field;
  • Textarea – multi-line text field;
  • Rich Text – WYSIWYG content editor, similar to the default WordPress one;
  • Date – date picker field;
  • Color – a handy color picker;
  • Checkbox – single checkbox field;
  • Select – a dropdown field with custom options;
  • Radio – a set of radio buttons with custom options;
  • Set – a set of checkboxes with custom options;
  • Relationship – allows selection of 1 or more entries of a post type;
  • Association – similar to Relationship, but also supports taxonomies, users and comments;
  • File – a file upload field, saving the URL to the file;
  • Image – similar to File, but made specifically for images;
  • Attachment – similar to Image, but saves the ID of the media attachment, and can be used for any allowed file type;
  • Map – Google Maps field with the option to manually select a pin, or find it by a certain address;
  • Separator – a delimiter that can be used between fields for presentational purposes;
  • Sidebar – allows selecting a sidebar, and creating custom sidebars on-the-fly;
  • Choose Sidebar (deprecated) – an old version of Sidebar;
  • Header Scripts – multi-line text field for header scripts, automatically printed in wp_head();
  • Footer Scripts – multi-line text field for footer scripts, automatically printed in wp_footer();
  • HTML – allows any HTML to be displayed. Can be used for presentation purposes;
  • Gravity Form – requires the Gravity Forms plugin, allows selecting a particular form;
  • Complex – our fancy repeater field, allowing nestable repeatable sets of fields to be created.

New fields can be created with a fairly small amount of custom code. A template and a step-by-step guide for creating new custom field types can be found here: https://github.com/htmlburger/carbon-field-template

Can I create repeatable sets of fields?

Yes. We call them Complex Fields – fields that contain other fields. You can even create complex fields with multiple sets of fields. Then, when creating a repeatable entry, you can select which set of fields to use.

Can I nest complex (repeatable) fields? If yes, how many levels deep?

Yes, you can nest the fields, at an unlimited depth. The only limit is your imagination. :)

Errors & Issues

I keep getting a “Parse error: syntax error, unexpected T_STRING” error. How can I fix it?

You’re probably using PHP 5.2 or older. The Carbon Fields library uses PHP namespaces, which are only supported in PHP 5.3+.

I get the following error: “Fatal error: Class ‘Container’ not found in…”

You’ve probably missed to import the namespaces of the essential classes before creating your containers and fields. To do that, in the file with your containers & fields definitions, add the following code to the top:

use Carbon_Fields\Container\Container;
use Carbon_Fields\Field\Field;