gravityflow_workflow_detail_display_field

Description

Use the filter gravityflow_workflow_detail_display_field to hide specific fields on the workflow detail page.

Parameters

ParameterTypeDetails
$displayBoolean Display a specific field yes/no
$fieldFieldThe field
$formFormThe current form
$entryEntry The current entnry
$current_stepStepThe current workflow step

Examples

Hide a specific field when on a specific step.

1
2
3
4
5
6
7
8
// Hide field ID 4 when on step ID 88
add_filter( 'gravityflow_workflow_detail_display_field', 'sh_gravityflow_workflow_detail_display_field', 10, 5 );
function sh_gravityflow_workflow_detail_display_field( $display, $field, $form, $entry, $current_step ) {
    if ( $current_step && $current_step->get_id() == 88 && $field->id == 4 ) {
        $display = false;
    }
    return $display;
}

Hide all fields on Form 1 except fields 4, 5, and 6.

1
2
3
4
5
6
7
8
9
10
11
12
// Hide all fields except fields 4 on Form 1
add_filter( 'gravityflow_workflow_detail_display_field', 'sh_gravityflow_workflow_detail_display_field', 10, 5 );
function sh_gravityflow_workflow_detail_display_field( $display, $field, $form, $entry, $current_step ) {
    if ( $form['id'] == 1 ) {
        if ( in_array( $field->id, array( 4, 5, 6 ) ) ) {
        $display = true;
        } else {
            $display = false;
        }
    }
    return $display;
}

Conditionally display certain fields based on overall workflow and certain step statuses.

This example will display all fields (field ID 1 – 4 assumed) if workflow steps id 256 and 257 are complete and the workflow is complete. If step 257 were rejected / skipped via Admin actions only filed ids 1 and 2 will be displayed on workflow complete status.
If the workflow is not complete it will return whatever value has been defined in step settings (including the complete step settings).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
add_filter( 'gravityflow_workflow_detail_display_field', 'sh_gravityflow_workflow_detail_display_field', 10, 5 );
function sh_gravityflow_workflow_detail_display_field( $display, $field, $form, $entry, $current_step ) {
    if ( $entry['workflow_final_status'] == 'complete' ) {
        if ( $entry['workflow_step_status_256'] == 'complete' && $entry['workflow_step_status_257'] == 'complete') {
            $display = true;
        } else if ( $entry['workflow_step_status_256'] == 'complete' ) {
            if ( in_array( $field->id, array( 1, 2 ) ) ) {
                $display = true;
            }
            else {
                $display = false;
            }
        }
    }
 
    return $display;
}

Placement

This code can be used in the functions.php file of the active theme, a custom functions plugin, a custom add-on, or with a code snippets plugin.

See also the PHP section in this article: Where Do I Put This Code?