is_temporary() ) { return; } $fields = array(); foreach ( (array) $form_data->get_fields() as $field ) { // The first entry is a heading Otter adds to its emails, not a field. if ( ! is_array( $field ) || empty( $field['id'] ) ) { continue; } $fields[] = array( 'label' => (string) ( $field['label'] ?? '' ), 'name' => (string) ( $field['metadata']['mappedName'] ?? $field['id'] ), 'type' => (string) ( $field['type'] ?? '' ), 'value' => $field['value'] ?? '', ); } $form_id = (string) $form_data->get_data_from_payload( 'formId' ); $post_id = absint( $form_data->get_data_from_payload( 'postId' ) ); if ( 0 === strpos( $form_id, self::ID_PREFIX ) ) { $form_id = substr( $form_id, strlen( self::ID_PREFIX ) ); } Capture::submission( self::key(), preg_replace( '/[^A-Za-z0-9_-]/', '', $form_id ), $post_id ? (string) get_the_title( $post_id ) : __( 'Otter form', 'dealroot' ), $fields ); } }