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

5. update_field() та delete_field()

Програмно створювати, оновлювати або видаляти значення полів з PHP коду.

update_field( $selector, $value, $post_id )

Параметри:
ПараметрТипЗа замовчуваннямОпис
$selectorstringНазва поля або ключ поля
$valuemixedНове значення (тип залежить від типу поля)
$post_idint\string\falsefalseID поста, 'options', 'user_N' або false для поточного поста
Повертає: int — ID запису значення. Формат значення за типом поля:
Тип поляОчікуване значення
text, textarea, email, url, passwordstring
number, rangestring або int/float
image, fileID вкладення (int)
select, radio, button_groupРядок значення або масив, якщо кілька
checkboxМасив рядків значення
true_falsetrue/false або 1/0
relationship, post_objectID поста або масив ID постів
taxonomyID терміна або масив ID термінів
userID користувача або масив ID користувачів
date_pickerФормат рядка 'Ymd' (наприклад, '20241225')
color_pickerШістнадцятковий рядок (наприклад, '#FF5733')
galleryМасив ID вкладень
repeaterМасив рядків масивів
php
// Update a text field
update_field( 'subtitle', 'New Subtitle', 42 );

// Update an image field (pass attachment ID)
update_field( 'hero_image', 155, 42 );

// Update a select field
update_field( 'product_status', 'in_stock', 42 );

// Update a checkbox field (array of values)
update_field( 'amenities', [ 'wifi', 'parking', 'pool' ], 42 );

// Update an options page value
update_field( 'site_phone', '+1-555-0123', 'options' );

// Update a user field
update_field( 'biography', 'Senior developer with 10 years experience.', 'user_5' );

// Bulk update in a loop
$products = get_posts( [ 'post_type' => 'product', 'numberposts' => -1 ] );
foreach ( $products as $product ) {
    $current_price = get_field( 'price', $product->ID );
    update_field( 'price', $current_price * 1.1, $product->ID ); // 10% increase
}

// Import data from CSV
$csv = array_map( 'str_getcsv', file( '/path/to/products.csv' ) );
$headers = array_shift( $csv );
foreach ( $csv as $row ) {
    $data = array_combine( $headers, $row );
    $post_id = wp_insert_post( [
        'post_title'  => $data['name'],
        'post_type'   => 'product',
        'post_status' => 'publish',
    ] );
    update_field( 'price', $data['price'], $post_id );
    update_field( 'sku', $data['sku'], $post_id );
}

delete_field( $selector, $post_id )

Видалити значення поля з бази даних.

Параметри:
ПараметрТипЗа замовчуваннямОпис
$selectorstringНазва поля
$post_idint\string\falsefalseID поста, 'options' або 'user_N'
Повертає: booltrue при успіху.
php
// Delete a single field value
delete_field( 'old_field', 42 );

// Delete an option value
delete_field( 'deprecated_setting', 'options' );

// Delete a user field
delete_field( 'temp_code', 'user_5' );

// Clean up fields when a post transitions to trash
add_action( 'wp_trash_post', function( $post_id ) {
    delete_field( 'cached_summary', $post_id );
    delete_field( 'cached_thumbnail', $post_id );
});

// Remove all Field Forge values for a post
FIELDFORGE_Field_Values::instance()->delete_all( $post_id );

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

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

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