This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.
Customize the scoring to determine if an answer is correct.
Usage
add_filter( 'frm_quiz_is_correct', 'frm_quiz_is_correct', 10, 2 ); function frm_quiz_is_correct( $is_correct, $args ) {
Parameters
- $is_correct (boolean) - True if the answer is correct.
- $args (array)
- $args['field'] (object) - The field to be checked.
- $args['entry'] (object) - The entry being scored.
- $args['value'] (array|string) - The response in the field.
- $args['saved_answers'] (array) - A list of correct answers.
Examples
Mark every quiz answer as correct
Use this code example to mark every quiz answer, no matter what it is, as being scored correct.
add_filter( 'frm_quiz_is_correct', '__return_true' );
Mark every quiz answer as incorrect
Use this code example to mark all answers as wrong, even ones that are right.
add_filter( 'frm_quiz_is_correct', '__return_false' );
Set quiz field as correct
Use this code example to check for a specific field and mark it as always correct.
add_filter( 'frm_quiz_is_correct', 'is_quiz_correct', 10, 2 );
function is_quiz_correct( $is_correct, $args ) {
$target_field_id = 1246; // Change 1246 with your field ID
if ( $target_field_id === (int) $args['field']->id ) {
$is_correct = true;
}
return $is_correct;
}
Conditionally set quiz field as correct
Use this to check for a specific field and mark it as always correct. This code example adds an extra check so it would only change the is_correct value when the answer is Alternative answer. e.g. you have two right answers.
add_filter( 'frm_quiz_is_correct', 'is_quiz_correct', 10, 2 );
function is_quiz_correct( $is_correct, $args ) {
$target_field_id = 1246; // Change 1246 with your field ID
if ( $target_field_id === (int) $args['field']->id && 'Alternative answer' === $args['value'] ) { // Change the text for 'Alternative answer'
$is_correct = true;
}
return $is_correct;
}