Home Forums Front-end Issues Retrive data from multiple users from user field type


Retrive data from multiple users from user field type

  • Hello.
    I would like to retrive users emails durning creating new post with ACF form (ver non premium). I can retrive one single address in other setup but I have problem to do it with many users.

    function my_pre_save_post( $post_id )
    $current_user = wp_get_current_user();
        // Create a new post
        $post = array(
            'post_status'  => 'publish' ,
             'post_title' => $_POST['fields']['field_57baf30ad86ab'],
            'post_type'		=> 'message',
        // insert the post
        $post_id =wp_insert_post( $post );
       $test = get_the_title($post_id);
      $data= get_field('recipient',$post_id); // trying to get access recipents of post im currently  creating
    $mail_array= array();
    for ($i = 0; $i <= 3; $i++) {
    	if ($data[$i][user_email]) {
    array_push($mail_array, $data[$i][user_email]); //for making string with addreses
    $mails = implode(',', $mail_array);
        update_field('test', $mails, 23); // to checking how data looks
        // return the new ID
        return $post_id;
    add_filter('acf/pre_save_post' , 'my_pre_save_post' );

    I noticed that if I update that test field with get_the_title($post_id); there is no problem and also if I use $data= get_field(‘recipient’,$post_id-1); the loop is working, so its like the data of custom fields is not ready durning this process.

    Maybe the path that I took is wrong and maybe there is more effective way.

    I just want to get email addresses of users that I marked in ACF form of user type field, and prepare it to mail() php function.

  • The post and the custom field on the post do not exist yet. pre_save_post fires before ACF has added the content to the field. To access the value that are submitted you need to look in $_POST['acf'] at this point. The other choice is to add and acf/save_post action that will fire after ACF has saved the values.

  • Thank you very much!

    I used 2nd suggestion and it works like it should to because that $_POST[‘acf’] worked only for one address but it doesnt matter why it wasnt working for multiple addreses.

    Im really grateful because I would not be able to solve this alone I think. Once again, thanks!

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.