Add custom input field under question submission form.

add_action('qa_question_submit_form', 'qa_question_submit_form_custom', 30);

function qa_question_submit_form_custom(){

    $custom = isset($_POST['custom']) ? sanitize_text_field($_POST['custom']) : "";


    ?>
    <div class="qa-form-field-wrap">
        <div class="field-title"><?php esc_html_e('Custom input field','question-answer'); ?></div>
        <div class="field-input">
            <input type="text" value="<?php echo esc_attr($custom); ?>" name="custom">
            <p class="field-details"><?php esc_html_e('Custom field description.', 'question-answer'); ?></p>
        </div>
    </div>
    <?php
}

Validated Custom field & display errors

add_filter('qa_question_submit_errors', 'qa_question_submit_errors_custom', 90, 2);

function qa_question_submit_errors_custom($qa_error, $post_data){



    if(empty($post_data['custom'])){

        $qa_error->add( 'custom', __( '<strong>ERROR</strong>: Custom field should not empty.', 'question-answer' ) );
    }


}

Update or Save custom field value

add_action('qa_question_submitted', 'qa_question_submitted_custom', 90, 2);

function qa_question_submitted_custom($question_ID, $post_data){

    $user_id = get_current_user_id();

    $custom = isset($post_data['custom']) ? sanitize_text_field($post_data['custom']) : "";


    update_post_meta($question_ID,'custom', $custom);

}