2020-06-28 / 1522阅 / 悠然
用于处理,验证和保存由acf_form()函数创建的提交表单数据。它还将加入所有与ACF相关的脚本和样式,以使表单正确显示。
必须在输出任何HTML之前放置此函数,最好get_header()
放在主题文件的函数上方。
acf_form_head();
本示例演示了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>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
提供以下操作和过滤器以自定义提交过程。
$form
之前,请使用此过滤器修改阵列$_POST
。add_filter('acf/pre_submit_form', 'my_acf_pre_submit_form', 10, 1);function my_acf_pre_submit_form( $form ) { // Create post using $form['new_post']. // Modify $form['redirect']. return $form;}
$post_id
用于保存$_POST
数据的值。add_filter('acf/pre_save_post', 'my_acf_pre_save_post', 10, 2);function my_acf_pre_save_post( $post_id, $form ) { // Create post using $form and update $post_id. return $post_id;}
$_POST
数据时运行。有关更多信息,请参阅acf / save_post指南。add_action('acf/save_post', 'my_acf_save_post', 20);function my_acf_save_post( $post_id ) { // Get new value. $value = get_field('my_field', $post_id); // Do something.}
$_POST
。在使用return设置重定向浏览器之前,请使用此操作执行自定义逻辑。add_action('acf/submit_form', 'my_acf_submit_form', 10, 2);function my_acf_submit_form( $form, $post_id ) { // Get new value. $value = get_field('my_field', $post_id); // Redirect. wp_redirect( 'http://www.website.com/' . $value ); exit;}