PHP Field Configuration Reference

Range

Use this config when fieldType is range.

1) Base Parameters

Parameter Required Type Default Choices Description
fieldType Yes string range range Sets control type.
name Yes string Sets control name. Use snake_case.
fieldLabel Yes string Sets control label.
default No string Sets control default value.
required No bool false true, false Sets control required.
disabled No bool false true, false Sets control disabled.
hideLabelFromVision No bool false true, false Sets control hide label from vision.
fieldHelpText No string Sets control help text.
className No string Sets control css class name.
fieldLabelPosition No string top top, left Sets control label position.
fieldLabelTextTransform No string uppercase uppercase, capitalize, lowercase Sets control label text transform.

2) Range Specific Parameters

Parameter Required Type Default Choices Description
type No string slider slider, stepper Define if the value selection should present a slider or stepper control.
marks No string Renders visual step ticks. Format: "10% : 10, 20% : 20". Only used when type is stepper.
min No int 0 The minimum value allowed.
max No int 100 The maximum value allowed.
separatorType No string none, fullWidth, topFullWidth Defines if a separator line should appear above or below the control row.
color No string CSS color string for the RangeControl wrapper.
allowReset No bool false true, false If true, a button to reset the slider is rendered.
resetFallbackValue No int 100 The value to revert to when the Reset button is clicked. Only relevant if allowReset is true.
isShiftStepEnabled No bool false true, false If true, pressing UP or DOWN with the SHIFT key changes the value by shiftStep.
shiftStep No int Acts as a multiplier of step when shift key is held. Only relevant if withInputField and isShiftStepEnabled are both true.
withInputField No bool false true, false Determines if a numeric input field renders next to the range slider.
showTooltip No bool false true, false Forces the tooltip UI to show or hide.

3) PHP Array Schema

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

[
    'fieldType' => 'range',
    'name' => 'post_range',
    'fieldLabel' => 'Post Range',
    'required' => false,
    'disabled' => false,
    'hideLabelFromVision' => false,
    'fieldHelpText' => 'Drag to select a value.',
    'className' => 'custom-class',
    'fieldLabelPosition' => 'top',
    'fieldLabelTextTransform' => 'uppercase',
    'type' => 'slider',
    'min' => 0,
    'max' => 100,
    'allowReset' => false,
    'withInputField' => false,
    'showTooltip' => false,
]

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'       => 'post_options',
        'meta_box_title'    => 'Post Options',
        'meta_box_context'  => 'side',
        'meta_box_priority' => 'default',
        'fields'            => [
            [
            'fieldType' => 'range',
            'name' => 'post_range',
            'fieldLabel' => 'Post Range',
            'required' => false,
            'disabled' => false,
            'hideLabelFromVision' => false,
            'fieldHelpText' => 'Drag to select a value.',
            'className' => 'custom-class',
            'fieldLabelPosition' => 'top',
            'fieldLabelTextTransform' => 'uppercase',
            'type' => 'slider',
            'min' => 0,
            'max' => 100,
            'allowReset' => false,
            'withInputField' => false,
            'showTooltip' => false,
            ],
        ],
    ];

    return $configs;
} );

4) Stored Value Type

Field Type Meta Value Type
range string (numeric value stored as string, for example "50")