PHP Field Configuration Reference

Use this config when fieldType is external_link.

This is a display-only component that renders a clickable external link. It does not store user input as meta.

1) Base Parameters

Parameter Required Type Default Choices Description
fieldType Yes string external_link external_link Sets control type.
name Yes string Sets control name. Use snake_case.
fieldLabel Yes string Sets control label.
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.
Parameter Required Type Default Choices Description
children No string The content to be displayed within the link.
href No string The URL of the external resource.

3) PHP Array Schema

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

[
    'fieldType' => 'external_link',
    'name' => 'post_external_link',
    'fieldLabel' => 'Documentation',
    'hideLabelFromVision' => false,
    'fieldHelpText' => 'Link to external resource.',
    'className' => 'custom-class',
    'fieldLabelPosition' => 'top',
    'fieldLabelTextTransform' => 'uppercase',
    'children' => 'View Documentation',
    'href' => 'https://example.com/docs',
]

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' => 'external_link',
            'name' => 'post_external_link',
            'fieldLabel' => 'Documentation',
            'hideLabelFromVision' => false,
            'fieldHelpText' => 'Link to external resource.',
            'className' => 'custom-class',
            'fieldLabelPosition' => 'top',
            'fieldLabelTextTransform' => 'uppercase',
            'children' => 'View Documentation',
            'href' => 'https://example.com/docs',
            ],
        ],
    ];

    return $configs;
} );

4) Stored Value Type

Field Type Meta Value Type
external_link N/A (display-only component, no meta value stored)