fields_stack = array(); return $html; } public function update_stack( $output, $field_name, $attrs, $content, $wp_block ): string { if ( isset( $attrs['name'] ) && 'undefined' !== $attrs['name'] ) { $name = $attrs['name']; $context = $wp_block->context ?? ''; /** * do nothing if field_name is conditional-block * * @link https://github.com/Crocoblock/issues-tracker/issues/12874 */ if ( 'conditional-block' === $field_name ) { return $output; } if ( $context ) { /** * do nothing if context is jet-forms/conditional-block--name * * @link https://github.com/Crocoblock/issues-tracker/issues/12874 */ if ( isset( $context['jet-forms/conditional-block--name'] ) ) { return $output; } $context_name = $context['jet-forms/repeater-field--name'] ?? ''; $context_index = $context['jet-forms/repeater-row--current-index'] ?? ''; if ( '' !== $context_name ) { $name = $context_name . $context_index . $name; } } if ( in_array( $name, $this->fields_stack ) ) { $parent = $context ? 'repeater' : 'form'; $output .= "
You already have field < " . esc_attr( $attrs['name'] ) . ' > in this ' . $parent . '. Please rename current field to avoid form processing errors.
'; } else { $this->fields_stack[] = $name; } } return $output; } public function on_install() { } public function on_uninstall() { } public function remove_hooks() { } }