delete_field()

Описание

Удаляет значение указанного поля.

Параметры

delete_field($selector, [$post_id]);
  • $selector (string) (Обязательный) Имя или ключ поля.
  • $post_id (mixed) (Необязательный) ID записи, в которой сохранено значение. По умолчанию используется текущая запись.

Возвращаемое значение

(bool) Возвращает true при успешном удалении и false в случае ошибки.

Примеры

Удаление по имени поля

В этом примере показано, как удалить значение поля с именем «test» в просматриваемой текущей записи.

// Удалить значение.
delete_field('test');

Удаление по ключу поля

В этом примере показано, как выполнить то же действие, используя ключ поля вместо его имени.

// Удалить значение.
delete_field('field_123456');

Удаление значения из разных объектов

В этом примере показаны различные значения $post_id, позволяющие удалить значение из записи, пользователя, термина и настройки.

$post_id = false; // текущая запись
$post_id = 1; // ID записи = 1
$post_id = "user_2"; // ID пользователя = 2
$post_id = "category_3"; // ID термина категории = 3
$post_id = "event_4"; // ID термина event (произвольная таксономия) = 4
$post_id = "option"; // страница настроек
$post_id = "options"; // то же, что выше

delete_field( 'my_field', $post_id );

Удаление из нескольких записей

В этом примере показано, как загрузить все записи, содержащие произвольное поле (с именем «color»), а затем удалить эти значения из каждой записи. Обратите внимание, что в цикле foreach используется переменная $p вместо $post, чтобы избежать конфликтов с глобальным объектом $post.

// Запрос записей.
$posts = get_posts(array(
    'post_type'         => 'post',
    'posts_per_page'    => -1,
    'meta_key'          => 'color'
));

// Обработать результаты и удалить значения.
if( $posts ) {
    foreach( $posts as $p ) {
        delete_field('color', $p->ID);
    }
}

Обновлено: 30.09.2026