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