acf/save_post хук-событие . ACF 1.0

Click here to view original web page at wp-kama.ru

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

Это событие позволяет сделать что-либо до или после сохранения $_POST данных формы, созданной функцией acf_form(). Используя этот хук можно добавить функциональность форме.

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

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

do_action( 'acf/save_post', $post_id );
$post_id(число/строка)
ID изменяемого поста.

Примеры

#1 Делаем что нужно после сохранения данных формы

Пример демонстрирует как добавить функции после того как ACF сохранил $_POST данные формы.

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 ) {
		// Do something...
	}
}

#2 Делаем что нужно до сохранения данных формы

Пример демонстрирует как добавить функции после того как ACF сохранил $_POST данные формы. Для этого укажем приоритет меньше 10.

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']) ) {
		// Do something.
	}
}

Где вызывается хук

acf/save_post

Где используется хук в ядре Advanced Custom Fields