Guide

External Link Control

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

ParameterRequiredTypeDefaultChoicesDescription
fieldTypeYesstringexternal_linkexternal_linkSets control type.
nameYesstringSets control name. Use snake_case.
fieldLabelYesstringSets control label.
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.
ParameterRequiredTypeDefaultChoicesDescription
childrenNostringThe content to be displayed within the link.
hrefNostringThe 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 TypeMeta Value Type
external_linkN/A (display-only component, no meta value stored)

Was this helpful?