Возвращаемые значения из формы интерфейса пользователя с использованием ACF

У меня проблемы с возвратом значений, введенных на моем форма переднего конца создать новый пост в WordPress с плагином Advanced Custom Fields. Я создал новую группу полей, и форма отлично отображается на внешнем интерфейсе, когда я отправляю форму, она отправляется без заголовка, даже если у меня есть заголовок в поле заголовка. Это текстовое поле, которое у меня есть в моей группе полей с названием ‘title’.

Согласно документации, я должен быть в состоянии передать переменную $ _POST, но мне трудно заставить ее работать или найти переменную $ _POST.

Вот мой шаблон страницы, который показывает форму, создает сообщение, но у сообщения нет заголовка. Итак, в двух словах, я не уверен, как получить значения для использования в wp_insert_post:

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

<?php
function my_pre_save_post( $post_id )
{
// check if this is to be a new post
if( $post_id != 'new' )
{
return $post_id;
}

// Create a new post
$post = array(
'post_status'  => 'publish' ,
'post_title'  => $_POST['fields']['title'] ,
'post_type'  => 'custom_gallery' ,
);

// insert the post
$post_id = wp_insert_post( $post );

// update $_POST['return']
$_POST['return'] = add_query_arg( array('post_id' => $post_id), $_POST['return'] );

// return the new ID
return $post_id;
}

add_filter('acf/pre_save_post' , 'my_pre_save_post' );
?>
<div id="content" class="clearfix row">

<div id="main" class="col-sm-12 clearfix" role="main">

<?php
acf_form(array(
'field_groups'        => array('31056'),
'post_id'       => 'new',
'submit_value'      => 'Submit Project'
)); ?>

</div> <!-- end #main -->

<?php //get_sidebar(); // sidebar 1 ?>

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

<?php get_footer(); ?>

0

Решение

Попробуйте использовать это:
https://wordpress.org/plugins/forms-actions
https://wordpress.org/plugins/acf-frontend-display

Формы действий процессов, форм, которые вы отправляете и выполняете действия.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]