Home › Forums › Front-end Issues › How Update a post in front-end with acf (acf_form)
Hey,
My snippet works properly when I want to create the post, I just can’t update the created post. I can’t understand how to update the post with acf_form action in the front end, thanks for your help.
std-update.php
acf_form(array(
'post_id' => '',
'field_groups' => array( 19250 ),
'post_title' => false,
'updated_message' => __("Post updated", 'acf'),
'submit_value' => 'Send',
'return' => ''
));
function.php
function register_update_std_profile( $post_id )
{
if( $post_id == 'new_post' ) {
// Create a new post
$post = array(
'post_title' => $_POST['fields']['field_123456'],
'post_type' => 'students_profile',
'post_status' => 'publish'
);
// insert the post
$post_id = wp_insert_post( $post );
return $post_id;
}
else {
return $post_id;
}
}
add_filter('acf/save_post' , 'register_update_std_profile');
In the acf_form() call you need to provide the post ID of the post that needs to be edited.
if (some condition) {
// the if needs to detect if a post is being edited
// if it is then set $post_id to the post to be edited
$post_id = $post=>ID; // something like this
} else {
// otherwise this is a new post
$post_id = 'new_post';
}
acf_form(array(
'post_id' => $post_id,
'field_groups' => array( 19250 ),
'post_title' => false,
'updated_message' => __("Post updated", 'acf'),
'submit_value' => 'Send',
'return' => ''
));
Thank you, John
It’s my crazy to forgot to use the acf_form() in a while loop to update a specific post, also you’re right I forgot to pass the post ID to the action too.
Here is my complete code to update a specific post:
while ( $author_posts->have_posts() ) : $author_posts->the_post();
acf_form(array(
'post_id' => get_the_ID(),
'field_groups' => array( 15 ),
'post_title' => false,
'post_content' => false,
'submit_value' => __('Update meta')
));
endwhile;
The topic ‘How Update a post in front-end with acf (acf_form)’ is closed to new replies.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.