Guide

Alignment Matrix Control

PHP Field Configuration Reference

Alignment Matrix

Use this config when fieldType is alignment_matrix.

1) Base Parameters

ParameterRequiredTypeDefaultChoicesDescription
fieldTypeYesstringalignment_matrixalignment_matrixSets control type.
nameYesstringSets control name. Use snake_case.
fieldLabelYesstringSets control label.
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) Alignment Matrix Specific Parameters

ParameterRequiredTypeDefaultChoicesDescription
widthNoint92Sets control width.
defaultNostringcenter, top center, top right,top left,bottom center,bottom right,bottom left,center left,center center,center rightSets control default value.

3) PHP Array Schema

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

[
    'fieldType' => 'alignment_matrix',
    'name' => 'content_alignment',
    'fieldLabel' => 'Content Alignment',
    'default' => 'center center',
    'required' => false,
    'disabled' => false,
    'hideLabelFromVision' => false,
    'fieldHelpText' => 'Choose alignment.',
    'className' => 'custom-class',
    'fieldLabelPosition' => 'top',
    'fieldLabelTextTransform' => 'uppercase',
    'width' => 92,
]

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'       => 'layout_settings',
        'meta_box_title'    => 'Layout Settings',
        'meta_box_context'  => 'side',
        'meta_box_priority' => 'default',
        'fields'            => [
            [
            'fieldType' => 'alignment_matrix',
            'name' => 'content_alignment',
            'fieldLabel' => 'Content Alignment',
            'default' => 'center center',
            'required' => false,
            'disabled' => false,
            'hideLabelFromVision' => false,
            'fieldHelpText' => 'Choose alignment.',
            'className' => 'custom-class',
            'fieldLabelPosition' => 'top',
            'fieldLabelTextTransform' => 'uppercase',
            'width' => 92,
            ],
        ],
    ];

    return $configs;
} );

4) Stored Value Type

Field TypeMeta Value Type
alignment_matrixstring (for example "center center")

Was this helpful?