acf/pre_save_post

Описание

Этот фильтр позволяет изменить $post_id перед сохранением любых данных произвольных полей из внешней формы (acf_form()). Этот фильтр используется в руководстве Использование acf_form для создания новой записи.

Этот фильтр не требуется для создания новой записи благодаря аргументу new_post, добавленному в acf_form() в версии 5.0.0.

Список изменений

  • Добавлено в версии 4.0.0

Параметры

НазваниеТипОписание
post_idintИдентификатор записи, в которую будут сохранены все данные (значения) из $_POST

Использование

Этот код можно добавить в файл functions.php или в шаблон страницы, содержащей внешнюю форму (выше функции acf_form_head).

functions.php

<?php

function my_pre_save_post( $post_id ) {

    // проверяем, предназначено ли это для новой записи
    if( $post_id != 'new' ) {

        return $post_id;

    }

    // Создаем новую запись
    $post = array(
        'post_status'  => 'draft' ,
        'post_title'  => 'A title, maybe a $_POST variable' ,
        'post_type'  => 'post' ,
    );  

    // добавляем запись
    $post_id = wp_insert_post( $post ); 

    // возвращаем новый идентификатор
    return $post_id;

}

add_filter('acf/pre_save_post' , 'my_pre_save_post', 10, 1 );

?>

Обновлено: 30.09.2026