File upload problem
I’ve got a developer working on my site and he is trying to add an upload file function to the Question form but it isn’t working. When adding the following code to the function.php he says that only a text field appears instead of the file upload:
function my_custom_question_field( $form ) { // Upload field. $form['fields']['screenshot'] = array( 'fields' => array( 'pdf' => array( // This is a unique key for field. 'label' => __( 'PDF File' ), 'desc' => __( 'Allow single PDF file upload.' ), 'type' => 'upload', 'upload_options' => array( 'multiple' => false, // Only allow single image upload. 'allowed_mimes' => array( 'pdf' => 'application/pdf', // This will allow uploading of PDF file. ), ), ), ), ); return $form; } add_filter( 'ap_question_form_fields', 'my_custom_question_field' );
Any ideas what the problem could be? Another issue is that when ‘Allow image upload’ is checked in the settings, the image upload isn’t visible in the form either. Could these issues be related?
Thanks, Rahul!
function my_custom_question_field( $form ) { // Upload field. $form['fields']['screenshot'] = array( 'label' => __( 'Image', 'anspress-question-answer' ), 'desc' => __( 'Select image(s) to upload. Only .jpg, .png and .gif files allowed.', 'anspress-question-answer' ), 'type' => 'upload', 'save' => [ __CLASS__, 'image_upload_save' ], 'upload_options' => array( 'multiple' => false, 'max_files' => 1, 'allowed_mimes' => array( 'jpg|jpeg' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', ), ), 'validate' => 'required', ); return $form; } add_filter( 'ap_question_form_fields', 'my_custom_question_field' );
Hi Rahul. Thank you for this code. The upload function is now working but the file just disappears after it is uploaded. I need the file to be added to the posted question so anyone can download it. How is this achieved?
Image file and uploads are uploaded in anspress-temp and once verified its moved to anspress-upload.
How to add a pdf to the Post Answer form?
Hello, I also received an email from you but wasn’t able to respond to it due to lack of time. I will answer you tomorrow with an example.