acf_form_head()

Обзор

acf_form_head() используется для обработки, проверки и сохранения данных из форм, созданных с помощью функций acf_form(). Эта функция также вставляет в очередь все скрипты и стили, связанные с ACF, для для корректного отображения. Эта функция должна быть вставлена перед HTML кодом, предпочтительно перед get_header(); в вашем файле темы.

Параметры

<?php acf_form_head(); ?>

Примеры

В этом примере показана стандартная форма acf acf_form() для редактирования текущего поста.

<?php acf_form_head(); ?>
<?php get_header(); ?>

	<div id="primary" class="content-area">
		<div id="content" class="site-content" role="main">

			<?php acf_form(); ?>

		</div><!-- #content -->
	</div><!-- #primary -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

События и фильтры

В этом разделе содержаться события и фильтры для управления процессом сохранения данных.

acf/pre_submit_form

Данный фильтр запускается, когда форма была отправлена и прошла валидацию. Используйте этот фильтр для изменения или использования формы $form перед отправкой $_POST данных. Добавлено в версии 5.5.10

function my_acf_pre_submit_form( $form ) {
	
	// создаем пост, используя $form['new_post']
	
	
	// изменяем $form['redirect']
	
	
	// возвращаем форму
	return $form;
	
}

add_filter('acf/pre_submit_form', 'my_acf_pre_submit_form', 10, 1);

acf/pre_save_post

Этот фильтр запускается, когда форма отправлена. Этот фильтр запускается после «acf/pre_submit_form». Используйте этот фильтр для изменения или использования $post_id и $form перед обработкой $_POST данных. Добавлено в версии 4.1.6

function my_acf_pre_save_post( $post_id, $form ) {
	
	// создаем пост, используя $form и обновляем $post_id
	
	
	
	// return
	return $post_id;
	
}

add_filter('acf/pre_save_post', 'my_acf_pre_save_post', 10, 2);

acf/save_post

Данное событие выполняется, когда ACF сохраняет данные произвольного поля в пост. Эта функция работает не только с функцией acf_form_head(), а используется во всем плагине ACF. Для получения дополнительной информации смотрите экшн acf/save_post.

function my_acf_save_post( $post_id ) {
    
    // получаем новое значение
    $value = get_field('my_field', $post_id);
    
    
    // делаем что-то
    
}

add_action('acf/save_post', 'my_acf_save_post', 20);

acf/submit_form

Это событие выполняется после того, как ACF обработал и сохранил данные acf_form(), после обработки $_POST данных. Используйте это событие для выполнения дополнительных инструкций до того, как параметр «return» совершит редирект браузера. Добавлено в версии 5.5.10

function my_acf_submit_form( $form, $post_id ) {
    
    // получаем новое значение
    $value = get_field('my_field', $post_id);
    
    
    // редирект
    wp_redirect( 'http://www.website.com/' . $value );
	exit;
	
}

add_action('acf/submit_form', 'my_acf_submit_form', 10, 2);

Похожие