Guide

Color Picker Control

PHP Field Configuration Reference

Color Picker

Use this config when fieldType is color_picker.

1) Base Parameters

ParameterRequiredTypeDefaultChoicesDescription
fieldTypeYesstringcolor_pickercolor_pickerSets control type.
nameYesstringSets control name. Use snake_case.
fieldLabelYesstringSets control label.
defaultNostringSets control default value.
requiredNoboolfalsetrue, falseSets control required.
disabledNoboolfalsetrue, falseSets control disabled.
hideLabelFromVisionNoboolfalsetrue, falseSets control hide label from vision.
fieldHelpTextNostringSets control help text.
classNameNostringSets control css class name.
fieldLabelPositionNostringtoptop, leftSets control label position.
fieldLabelTextTransformNostringuppercaseuppercase, capitalize, lowercaseSets control label text transform.

2) Color Picker Specific Parameters

ParameterRequiredTypeDefaultChoicesDescription
colorNostringThe current color value to display in the picker. Must be a hex or hex8 string.
enableAlphaNoboolfalsetrue, falseWhen true the color picker will display the alpha channel both in the bottom inputs as well as in the color picker itself.
copyFormatNostringhexhex, hsl, rgbThe format to copy when clicking the displayed color format.

3) PHP Array Schema

Here is an example of how to use the color picker control in a post meta configuration:

[
    'fieldType' => 'color_picker',
    'name' => 'post_color_picker',
    'fieldLabel' => 'Post Color Picker',
    'required' => false,
    'disabled' => false,
    'hideLabelFromVision' => false,
    'fieldHelpText' => 'Select a color.',
    'className' => 'custom-class',
    'fieldLabelPosition' => 'top',
    'fieldLabelTextTransform' => 'uppercase',
    'color' => '#72aee6',
    'enableAlpha' => false,
    'copyFormat' => 'hex',
]

3) Hook-Based Example (Post Meta Config)

It is available to use this control in post meta fields, term meta fields and user settings page and options page fields.

Available hooks:

  • native_custom_fields_post_meta_fields
  • native_custom_fields_term_meta_fields
  • native_custom_fields_user_meta_fields
  • native_custom_fields_options_page_fields
add_filter( 'native_custom_fields_post_meta_fields', function( array $configs ): array {
    $post_type = 'book';

    if ( ! isset( $configs[ $post_type ] ) || ! is_array( $configs[ $post_type ] ) ) {
        $configs[ $post_type ] = [
            'post_type' => $post_type,
            'sections'  => [],
        ];
    }

    $configs[ $post_type ]['sections'][] = [
        'meta_box_id'       => 'design_settings',
        'meta_box_title'    => 'Design Settings',
        'meta_box_context'  => 'side',
        'meta_box_priority' => 'default',
        'fields'            => [
            [
            'fieldType' => 'color_picker',
            'name' => 'post_color_picker',
            'fieldLabel' => 'Post Color Picker',
            'required' => false,
            'disabled' => false,
            'hideLabelFromVision' => false,
            'fieldHelpText' => 'Select a color.',
            'className' => 'custom-class',
            'fieldLabelPosition' => 'top',
            'fieldLabelTextTransform' => 'uppercase',
            'color' => '#72aee6',
            'enableAlpha' => false,
            'copyFormat' => 'hex',
            ],
        ],
    ];

    return $configs;
} );

4) Stored Value Type

Field TypeMeta Value Type
color_pickerstring (hex color code, for example "#72aee6")

Was this helpful?