get_token_factory(); $safe_classes = esc_html( $this->get_item_class( 'true-false--state--:', $markup_field_data->get_view_data(), $markup_field_data->get_field_data() ) ); ob_start(); $var = $token_factory->variable( $field_id ) ->add_item_path( 'state' ); $token_factory->to_echo( $var ) ->print(); $code = (string) ob_get_clean(); $safe_classes = str_replace( ':', $code, $safe_classes ); printf( '
', esc_html( $this->get_field_class( 'true-false', $markup_field_data ) ), // @phpcs:ignore WordPress.Security.EscapeOutput $safe_classes ); } /** * @return array */ public function get_template_variables( Variable_Field_Data $variable_field_data ): array { $is_checked = in_array( $variable_field_data->get_value(), array( 1, '1', true ), true ); $args = array( 'value' => $is_checked, 'state' => $is_checked ? 'checked' : 'unchecked', ); return $args; } /** * @return array */ public function get_validation_template_variables( Variable_Field_Data $variable_field_data ): array { $is_checked = in_array( $variable_field_data->get_value(), array( 1, '1', true ), true ); $args = array( 'value' => $is_checked, 'state' => $is_checked ? 'checked' : 'unchecked', ); return $args; } public function is_with_field_wrapper( Layout_Settings $layout_settings, Field_Settings $field_settings, Field_Meta $field_meta ): bool { return $layout_settings->is_with_unnecessary_wrappers; } // mark that false value still is supported in markup. public function is_empty_value_supported_in_markup(): bool { return true; } }