WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика

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

Срабатывает при сохранении отправленных $_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()
acf/save_post
acf/includes/acf-form-functions.php 136
do_action( 'acf/save_post', $post_id );

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

acf/includes/acf-form-functions.php 163
add_action( 'acf/save_post', '_acf_do_save_post' );
acf/includes/acf-form-functions.php 50
add_action('acf/save_post', array($this, 'save_post'), 15, 1);
acf/includes/acf-form-functions.php 27
add_action('acf/save_post', 				array($this, 'save_files'), 5, 1);
alexlead 70codepen.io/alexlead
Редакторы: Kama 7881
Комментариев нет
    Войти