0
我使用Wordpress與ACF插件,我想添加新行到中繼器字段,其中一個子字段是文件。更新文件上傳ACF中繼器只保存上傳的最後一個文件
它保存所有的值,我將正確的,但由於某種原因刪除其他文件之前保存。
我的代碼如下所示:
$post_id = $_POST['post_id'];
$params['field_58fcbc968b60c'] = $_POST['user_name'];
if(isset($_POST['expert_question']) && !empty($_POST['expert_question']))
{
$params['field_58fcbcc08b60d'] = addslashes($_POST['expert_question']);
}
if(isset($_POST['user_email_addr']) && !empty($_POST['user_email_addr']) && filter_var($_POST['user_email_addr'], FILTER_VALIDATE_EMAIL))
{
$user_email = $_POST['user_email_addr'];
}
if(count($_FILES) && isset($_FILES['expert_question_file']) && !empty($_FILES['expert_question_file']['name']))
{
$allow_extension = ['pdf','png','jpg','gif','doc','docx','xls','csv'];
$file_info = wp_handle_upload($_FILES['expert_question_file'], ['test_form' => false]);
$temp = explode(".",$file_info['file']);
$extension = end($temp);
if(in_array(strtolower($extension),$allow_extension))
{
$wp_upload_dir = wp_upload_dir();
$attachment = [
'guid' => $wp_upload_dir['url'].'/'.basename($file_info['file']),
'post_mime_type' => $file_info['type'],
'post_content' => '',
'post_status' => 'inherit'
];
$attachment_id = wp_insert_attachment($attachment);
$params['field_58fcbcfd8b60e'] = $attachment_id;
}else{
$res = "Invalid file extension";
}
}
if(have_rows('field_58fcbc758b60b',$post_id)){
$expert_questions_repeater = get_field('field_58fcbc758b60b', $post_id);
$expert_questions_repeater[] = $params;
}else{
$expert_questions_repeater = [];
$expert_questions_repeater[] = $params;
}
update_field('field_58fcbc758b60b', $expert_questions_repeater, $post_id);
任何想法是什麼原因?感謝這一切,和平&愛:)