3. get_fields() та get_field_objects() | Field Forge - Кастомні поля, створені для швидкості
Завантажити Увійти

3. get_fields() та get_field_objects()

Функції масового отримання для отримання всіх значень полів або всіх визначень полів для поста одночасно.

get_fields( $post_id )

Отримати всі значення полів для поста у вигляді асоціативного масиву.

Параметри:
ПараметрТипЗа замовчуваннямОпис
$post_idint\string\falsefalseID поста, 'options', 'user_N' або false для поточного поста
Повертає: array — асоціативний масив field_name => value.
php
// Get all fields for the current post
$fields = get_fields();
// Returns: ['subtitle' => 'Hello', 'price' => '29.99', 'is_featured' => true, ...]

// Get all fields for a specific post
$product_data = get_fields( 42 );

// Get all option values
$options = get_fields( 'options' );
// Returns: ['site_logo' => [...], 'site_phone' => '+1-555-0123', ...]

// Use in a REST API response or JSON output
wp_send_json_success( get_fields( $post_id ) );

// Build a structured data array for JSON-LD
$product = get_fields( $post_id );
$json_ld = [
    '@context' => 'https://schema.org',
    '@type'    => 'Product',
    'name'     => get_the_title( $post_id ),
    'offers'   => [
        '@type'         => 'Offer',
        'price'         => $product['price'] ?? '0',
        'priceCurrency' => 'USD',
    ],
];
echo '<script type="application/ld+json">' . wp_json_encode( $json_ld ) . '</script>';

get_field_objects( $post_id )

Отримати всі визначення полів (з значеннями) для поста.

Параметри:
ПараметрТипЗа замовчуваннямОпис
$post_idint\string\falsefalseID поста, 'options' або false для поточного поста
Повертає: array — асоціативний масив field_name => field_object.
php
$objects = get_field_objects( 42 );

// Render all fields automatically based on type
foreach ( $objects as $name => $field ) {
    if ( $field['type'] === 'image' && $field['value'] ) {
        echo '<figure>';
        echo '<img src="' . esc_url( $field['value']['url'] ) . '" alt="' . esc_attr( $field['value']['alt'] ) . '">';
        echo '<figcaption>' . esc_html( $field['label'] ) . '</figcaption>';
        echo '</figure>';
    } elseif ( $field['type'] === 'true_false' ) {
        echo '<p><strong>' . esc_html( $field['label'] ) . ':</strong> ';
        echo $field['value'] ? 'Yes' : 'No';
        echo '</p>';
    } elseif ( $field['value'] ) {
        echo '<p><strong>' . esc_html( $field['label'] ) . ':</strong> ';
        echo esc_html( $field['value'] ) . '</p>';
    }
}

// Export all field definitions for documentation
$all_objects = get_field_objects( 42 );
$schema = [];
foreach ( $all_objects as $name => $obj ) {
    $schema[] = [
        'name'     => $obj['name'],
        'type'     => $obj['type'],
        'label'    => $obj['label'],
        'required' => $obj['required'] ?? false,
    ];
}

Асистент ШІ Forge Онлайн

Привіт! Я асистент ШІ Field Forge. Запитайте мене про будь-що щодо плагіна — налаштування, можливості, усунення несправностей чи розробку.

Щойно
Працює на Forge AI · Переглянути документацію