Download the PHP package vinkla/extended-acf without Composer
On this page you can find all versions of the php package vinkla/extended-acf. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package extended-acf
Extended ACF
Register advanced custom fields with object-oriented PHP.
Extended ACF provides an object-oriented API to register groups and fields with ACF. If you register fields in your theme, you can safely rely on version control when working with other developers. Oh, you don't have to worry about unique field keys.
- Installation
- Usage
- Settings
- Fields
- Basic
- Content
- Choice
- Relational
- Advanced
- Layout
- Location
- Conditional Logic
- Non-standards
helperText
column
dd
anddump
key
withSettings
- Custom Fields
- Upgrade Guide
- 14
- 13
- 12
- 11
Installation
Require this package, with Composer, in the root directory of your project.
To install the Advanced Custom Fields Pro plugin, download and place it in either the plugins
or mu-plugins
directory. After that, activate the plugin in the WordPress dashboard.
Learn more about installing ACF PRO using Composer.
Usage
To register a new field group, use the register_extended_field_group()
function. This extends the default register_field_group()
function from the ACF plugin. The key
value is appended to field groups and fields. Here's an example of a field group.
Settings
For detailed information on field group settings, please consult the official ACF documentation. You can also find more examples in the examples directory.
- Register custom post type
- Register custom post type with Extended CPT
- Register Gutenberg block
- Register options page
Fields
All fields, except the clone field, have a corresponding class. Each field needs a label
. If no name
is specified, the label
will be used as the name
in snake_case. The name
can only contain alphanumeric characters and underscores.
Most fields have the methods default
, required
, and wrapper
. The non-standards section.
Basic
Email - The email field creates a simple email input.
Number - The number field creates a simple number input.
Password - The password field creates a simple password input.
Range - The range field provides an interactive experience for selecting a numerical value.
Text - The text field creates a simple text input.
Textarea - The textarea field creates a simple textarea.
URL - The URL field creates a simple uRL input.
Content
File - The file field allows a file to be uploaded and selected.
Gallery - The gallery field provides a simple and intuitive interface for managing a collection of images.
Image - The image field allows an image to be uploaded and selected.
Oembed - The oEmbed field allows an easy way to embed videos, images, tweets, audio, and other content.
WYSIWYG - The WYSIWYG field creates a full WordPress tinyMCE content editor.
Choice
Button Group - The button group field creates a list of radio buttons.
Checkbox - The checkbox field creates a list of tick-able inputs.
Radio Button - The radio button field creates a list of select-able inputs.
Select - The select field creates a drop down select or multiple select input.
True False - The true / false field allows you to select a value that is either 1 or 0.
Relational
Link - The link field provides a simple way to select or define a link (url, title, target).
Page Link - The page link field allows the selection of 1 or more posts, pages or custom post types.
Post Object - The post object field creates a select field where the choices are your pages + posts + custom post types.
Relationship - The relationship field creates a very attractive version of the post object field.
Taxonomy - The taxonomy field allows the selection of 1 or more taxonomy terms.
User - The user field creates a select field for all your users.
Advanced
Color Picker - The color picker field allows a color to be selected via a JavaScript popup.
Date Picker - The date picker field creates a jQuery date selection popup.
Icon Picker - The icon picker field allows you to easily select a Dashicon, a Media Library image, or a URL for an image or SVG.
Time Picker - The time picker field creates a jQuery time selection popup.
Date Time Picker - The date time picker field creates a jQuery date & time selection popup.
Google Map - The Google Map field creates an interactive map with the ability to place a marker.
Layout
Accordion - The accordion field is used to organize fields into collapsible panels.
Clone - The clone field enables you to choose and showcase pre-existing fields or groups. This field does not possess a custom field class. Instead, you can create a new file for your field and import it using the require
statement whenever necessary.
Flexible Content - The flexible content field acts as a blank canvas to which you can add an unlimited number of layouts with full control over the order.
Group - The group allows you to create a group of sub fields.
Message - The message fields allows you to display a text message.
Repeater - The repeater field allows you to create a set of sub fields which can be repeated again and again whilst editing content!
Tab - The tab field groups fields into tabbed sections. Fields or groups added after a tab become its children. Enabling endpoint
on a tab creates a new group of tabs.
Location
The Location
class allows you to write custom location rules without specifying the name
, operator
, and value
keys. If no operator
is provided, it will use the operator
as the value
. For additional details on custom location rules, please visit this link.
[!NOTE]
Theif
method was renamed towhere
in version 12, see the upgrade guide.
Conditional Logic
The conditional class helps you write conditional logic without knowing the field keys.
Non-standards
helperText
The helperText
method supports Markdown for the elements listed below.
column
The column
property is not a standard in ACF. It is used as a shorthand for setting the width of the field wrapper. You can provide a number between 0 and 100 as its value.
dd
and dump
The dd
and dump
methods are non-standard and not available in ACF. These methods are used for debugging.
To use the dd
and dump
methods, you need to install symfony/var-dumper
.
key
The key
method enables you to define a custom field key. The key
should consist of alphanumeric characters and underscores, and must be prefixed with either field_
or layout_
.
You can use the key
argument to provide a custom field key in conditional logic.
[!IMPORTANT] Avoid using custom field keys unless you thoroughly understand them. The field keys are automatically generated when you use the
register_extended_field_group
function.
withSettings
The withSettings
method overwrites any existing settings on the field when you want to add custom settings.
Another option for adding custom settings is to extend the field classes provided in the package. Please refer to the custom fields section.
Custom Fields
To create custom field classes, you can extend the available setting traits to add common methods like required
and helperText
.
When you're ready, you can import and use your field just like any other field in this library.
Upgrade Guide
The upgrade guide provides information about the breaking changes in the package, now named vinkla/extended-acf
. If you have version 12 or lower, you can update by replacing the package name in your composer.json
file. This ensures that everything works as expected and you receive updates.
14
The Url
class has been renamed to URL
.
The WysiwygEditor
class has been renamed to WYSIWYGEditor
.
The defaultValue
method has been renamed to default
.
The instructions
method has been renamed to helperText
.
The allowMultiple
method has been renamed to multiple
.
The allowNull
method has been renamed to nullable
.
The characterLimit
method has been renamed to maxLength
.
The pagination
method has been renamed to paginated
.
The buttonLabel
method has been renamed to button
.
The weekStartsOn
method has been renamed to firstDayOfWeek
.
The prepend
method has been renamed to prefix
.
The append
method has been renamed to suffix
.
The stylisedUi
method has been renamed to stylized
on the TrueFalse
field.
The stylisedUi
method has been split into two methods stylized
and lazyLoad
on the Select
field.
The fileSize
method has been split into two methods minSize
and maxSize
.
The height
method has been split into two methods minHeight
and maxHeight
.
The width
method has been split into two methods minWidth
and maxWidth
.
The insert
method has been renamed to prependFiles
.
The min
and max
methods has been renamed to minFiles
and maxFiles
on the Gallery
field.
The min
and max
methods has been renamed to minPosts
and maxPosts
on the Relationship
field.
The min
and max
methods has been renamed to minRows
and maxRows
on the Repeater
field.
The min
and max
methods has been renamed to minLayouts
and maxLayouts
on the FlexibleContent
field.
The min
and max
methods has been renamed to minInstances
and maxInstances
on the Layout
field.
The mimeTypes
method has been renamed to acceptedFileTypes
.
The enableOpacity
method has been renamed to opacity
.
The delay
method has been renamed to lazyLoad
.
The mediaUpload
method has been renamed to disableMediaUpload
.
The message
method has been renamed to body
.
The allowArchives
method has been renamed to disableArchives
.
The addTerm
, loadTerms
and saveTerms
methods has been renamed to create
, load
and save
.
The returnFormat
method has been renamed to format
on all fields.
The Instructions
trait has been renamed to HelperText
.
The MimeTypes
trait has been renamed to FileTypes
.
The CharacterLimit
trait has been renamed to MaxLength
.
The Pending
trait has been renamed to Affixable
.
The Writable
trait has been renamed to Immutable
.
The SubFields
trait has been renamed to Fields
.
The Message
and ReturnFormat
traits has been removed.
Changelog: 13.0.0...14.0.0
13
If you're upgrading to version 13, you'll also need to update your imports. The namespace has been changed to Extended\ACF
.
Changelog: 12.0.0...13.0.0
12
The location query method if
has been replaced with where
. Please update your field groups accordingly.
Changelog: 11.0.0...12.0.0
11
The field name is now automatically formatted as snake_case instead of kebab-case.
The Radio
field has been renamed to RadioButton
.
The Wysiwyg
field has been renamed to WysiwygEditor
.
Changelog: 10.0.0...11.0.0