4. get_field_object() -- Определения полей | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти

4. get_field_object() — Определения полей

Получить полное определение поля (тип, метка, выбор и т.д.) вместе с его текущим значением для одного поля.

get_field_object( $selector, $post_id )

Параметры:
ПараметрТипПо умолчаниюОписание
$selectorstringИмя поля или ключ поля
$post_idint\string\falsefalseID записи, 'options' или false для текущей записи
Возвращает: array|false — массив определения поля с ключом value, или false, если не найдено. Ключи возвращаемого массива:
КлючТипОписание
keystringКлюч поля (например, 'field_abc123def')
labelstringЧитаемая метка
namestringИмя поля (слаг)
typestringТип поля (например, 'select', 'text')
choicesarrayВыбор для полей select/checkbox/radio
return_formatstringКак значение форматируется
requiredboolОбязательно ли поле
valuemixedТекущее значение для этой записи
_group_idintID родительской группы полей
php
$field = get_field_object( 'product_color' );
/*
Returns:
[
    'key'           => 'field_abc123def',
    'label'         => 'Product Color',
    'name'          => 'product_color',
    'type'          => 'select',
    'choices'       => ['red' => 'Red', 'blue' => 'Blue', 'green' => 'Green'],
    'return_format' => 'value',
    'required'      => true,
    'value'         => 'blue',
    '_group_id'     => 3,
]
*/

// Render a select field dynamically based on its definition
$field = get_field_object( 'status' );
if ( $field ) {
    echo '<label>' . esc_html( $field['label'] ) . '</label>';
    echo '<select name="status">';
    foreach ( $field['choices'] as $value => $label ) {
        $selected = ( $field['value'] === $value ) ? ' selected' : '';
        echo '<option value="' . esc_attr( $value ) . '"' . $selected . '>' . esc_html( $label ) . '</option>';
    }
    echo '</select>';
}

// Build a front-end filter UI from field definitions
$field = get_field_object( 'product_category' );
if ( $field && ! empty( $field['choices'] ) ) {
    echo '<div class="filter-group">';
    echo '<h4>' . esc_html( $field['label'] ) . '</h4>';
    foreach ( $field['choices'] as $val => $lbl ) {
        printf(
            '<label><input type="checkbox" name="filter_%s[]" value="%s"> %s</label>',
            esc_attr( $field['name'] ),
            esc_attr( $val ),
            esc_html( $lbl )
        );
    }
    echo '</div>';
}

// Get field definition from options page
$logo_field = get_field_object( 'site_logo', 'options' );
echo 'Logo field type: ' . $logo_field['type']; // 'image'

ИИ-ассистент Forge Онлайн

Привет! Я ИИ-ассистент Field Forge. Спрашивайте меня о чём угодно по плагину — настройка, возможности, устранение неполадок или разработка.

Только что
На базе Forge AI · Просмотр документации