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);
}
