acf/save_post

Описание

Срабатывает при сохранении отправленных данных $_POST.

Это действие позволяет подключиться до или после сохранения данных $_POST, что удобно для выполнения дополнительных действий при обновлении записи или другого объекта WP.

Параметры

do_action( 'acf/save_post', $post_id );
  • $post_id (int|string) ID редактируемой записи.

История изменений

  • В версии 5.0.0 пространство имён изменено с $_POST['fields'] на $_POST['acf']
  • Добавлено в версии 4.0.0

Примеры

Применение после сохранения

В этом примере показано, как выполнить дополнительные действия после того, как ACF сохранил данные $_POST.

functions.php

add_action('acf/save_post', 'my_acf_save_post');
function my_acf_save_post( $post_id ) {

    // Получить недавно сохранённые значения.
    $values = get_fields( $post_id );

    // Проверить новое значение определённого поля.
    $hero_image = get_field('hero_image', $post_id);
    if( $hero_image ) {
        // Выполнить действие...
    }
}

Применение до сохранения

В этом примере показано, как выполнить дополнительные действия до того, как ACF сохранил данные $_POST, используя приоритет меньше 10.

functions.php

add_action('acf/save_post', 'my_acf_save_post', 5);
function my_acf_save_post( $post_id ) {

    // Получить предыдущие значения.
    $prev_values = get_fields( $post_id );

    // Получить отправленные значения.
    $values = $_POST['acf'];

    // Проверить, было ли обновлено определённое значение.
    if( isset($_POST['acf']['field_abc123']) ) {
        // Выполнить действие.
    }
}

Примечания

Параметры

В отличие от действия WordPress save_post, это действие не содержит параметры $post и $updated. Если вам нужен доступ к этим параметрам, рассмотрите возможность использования другого действия.

Обновлено: 30.09.2026