我正在使用ACF插件的Wordpress,我想添加新的行到中继器字段,其中一个子字段是文件。
它会正确地保存我插入的所有值,但出于某种原因,它会删除之前保存的其他文件。
我的代码如下所示:
$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);你知道是什么导致了这一切吗?感谢一切,和平与爱:)
发布于 2017-04-25 17:16:01
所以问题是--我必须将附件id添加到字段中。
$params['field_58fcbcfd8b60e'] = $attachment_id;而是定义为返回"image url“而不是image id的字段。
https://stackoverflow.com/questions/43596590
复制相似问题