Описание
Этот фильтр позволяет изменить $post_id перед сохранением любых данных произвольных полей из внешней формы (acf_form()). Этот фильтр используется в руководстве Использование acf_form для создания новой записи.
Этот фильтр не требуется для создания новой записи благодаря аргументу new_post, добавленному в acf_form() в версии 5.0.0.
Список изменений
- Добавлено в версии 4.0.0
Параметры
| Название | Тип | Описание |
|---|---|---|
post_id | int | Идентификатор записи, в которую будут сохранены все данные (значения) из $_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