【发布时间】:2017-09-21 15:16:57
【问题描述】:
我正在使用带有 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);
知道是什么原因造成的吗?谢谢大家,和平与爱:)
【问题讨论】:
标签: wordpress advanced-custom-fields