diff --git a/changelog.txt b/changelog.txt
index 476dabe3b5aeda43b3870122154395944c7f4905..803777782dddfaaed36a5d04a9fed23c2e85f6e6 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,9 @@
 # Changelog
 
+## [2.4.8] - 2021-09-27
+### Fixed
+- Add escaping functions to all templates
+
 ## [2.4.7] - 2021-09-20
 ### Fixed
 - Add missing escaping functions in templates
diff --git a/composer.json b/composer.json
index 6a79cb8b9cb4beafebefa156376aceb5fd0e654b..42726f4820d31bc8a6f7f26fe7670998b92f8600 100644
--- a/composer.json
+++ b/composer.json
@@ -24,10 +24,9 @@
   },
   "require-dev": {
     "phpunit/phpunit": "<7",
-    "wp-coding-standards/wpcs": "^0.14.1",
-    "squizlabs/php_codesniffer": "^3.0.2",
     "mockery/mockery": "*",
-    "10up/wp_mock": "*"
+    "10up/wp_mock": "*",
+		"wpdesk/wp-code-sniffer": "^1.2.3"
   },
   "autoload": {
     "psr-4": {
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
new file mode 100644
index 0000000000000000000000000000000000000000..1b9bf7a255dfcde94aa06a7065b18b067017d29b
--- /dev/null
+++ b/phpcs.xml.dist
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<ruleset name="WordPress Coding Standards for WP Desk Plugin">
+
+	<!--
+	#############################################################################
+	COMMAND LINE ARGUMENTS
+	https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
+	#############################################################################
+	-->
+
+	<!-- Scan all files. -->
+	<file>./src</file>
+	<file>./templates</file>
+
+	<!-- Only check PHP files. -->
+	<arg name="extensions" value="php"/>
+
+	<!-- Show progress, show the error codes for each message (source). -->
+	<arg value="sp"/>
+
+	<!-- Check up to 8 files simultaneously. -->
+	<arg name="parallel" value="8"/>
+
+	<!-- Cache outcomes for better performance. Remember to add the file to .gitignore. -->
+	<arg name="cache" value="./.phpcs-cache"/>
+
+	<!--
+	#############################################################################
+	USE THE WPDeskCS RULESET
+	#############################################################################
+	-->
+
+	<!-- Define plugin text domain for i18n. -->
+	<config name="text_domain" value="wp-forms"/>
+
+	<!-- This value should be aligned with WordPress support version declared in plugin header -->
+	<config name="minimum_supported_wp_version" value="5.0"/>
+
+	<!-- Set value aligned with supported PHP Version for PHPCompatibilityWP check. -->
+	<config name="testVersion" value="7.0-"/>
+
+	<rule ref="WPDeskPlugin"/>
+
+	<rule ref="Squiz.Commenting.ClassComment.Missing">
+		<exclude name="Squiz.Commenting.ClassComment.Missing"/>
+	</rule>
+
+</ruleset>
diff --git a/templates/button.php b/templates/button.php
index 43c21190ad4326181dd29fd4a45f930642a7cc26..fd95750148a4356e87383c2aaaef789f4cc9a6fe 100644
--- a/templates/button.php
+++ b/templates/button.php
@@ -4,28 +4,32 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
+
 ?>
 
 <button
-<?php if ($field->has_classes()): ?>
-	class="<?php echo \esc_attr($field->get_classes()); ?>"
+<?php if ( $field->has_classes() ) : ?>
+	class="<?php echo \esc_attr( $field->get_classes() ); ?>"
 <?php endif; ?>
 
-<?php foreach ($field->get_attributes([]) as $key => $val): ?>
-	<?php echo $key.'="'.\esc_attr($val).'"'; ?>
+<?php foreach ( $field->get_attributes( [] ) as $key => $val ) : ?>
+	<?php echo \esc_attr( $key ) . '="' . \esc_attr( $val ) . '"'; ?>
 <?php endforeach; ?>
 
-	type="<?php echo \esc_attr($field->get_type()); ?>"
-	name="<?php echo \esc_attr($name_prefix).'['.\esc_attr($field->get_name()).']'?>"
-	id="<?php echo \esc_attr($field->get_id()); ?>"
-	value="<?php echo \esc_html($value); ?>"
+	type="<?php echo \esc_attr( $field->get_type() ); ?>"
+	name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>"
+	id="<?php echo \esc_attr( $field->get_id() ); ?>"
+	value="<?php echo \esc_html( $value ); ?>"
 
-	<?php if ($field->is_required()): ?>required="required"<?php endif; ?>
-	<?php if ($field->is_disabled()): ?>disabled="disabled"<?php endif; ?>
-	<?php if ($field->is_readonly()): ?>readonly="readonly"<?php endif; ?>
+	<?php
+	if ( $field->is_disabled() ) :
+		?>
+		disabled="disabled"<?php endif; ?>
+	<?php
+	if ( $field->is_readonly() ) :
+		?>
+		readonly="readonly"<?php endif; ?>
 
-><?php echo \esc_html($field->get_label()); ?></button>
+><?php echo \esc_html( $field->get_label() ); ?></button>
diff --git a/templates/form-end.php b/templates/form-end.php
index 7484d6e1db1aba308d78afa7cd384d5f27d4a845..f2a22fe4a673355530b136e880b65c2fc8349a7b 100644
--- a/templates/form-end.php
+++ b/templates/form-end.php
@@ -1,3 +1,9 @@
+<?php
+/**
+ * Form ending with hoverable tip snippet in js.
+ */
+
+?>
 </tbody>
 </table>
 </form>
diff --git a/templates/form-field.php b/templates/form-field.php
index 971e53ba0447e37f1f3fcee0255f793797a29478..0fd07d5ef880bdee34de0d879e5c05299c846860 100644
--- a/templates/form-field.php
+++ b/templates/form-field.php
@@ -4,26 +4,32 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
+
 ?>
 
 <tr valign="top">
-	<?php if ( $field->has_label() ): ?>
-		<?php echo $renderer->render( 'form-label', [ 'field' => $field ] ); ?>
+	<?php if ( $field->has_label() ) : ?>
+		<?php echo wp_kses_post( $renderer->render( 'form-label', [ 'field' => $field ] ) ); ?>
 	<?php endif; ?>
 
 	<td class="forminp">
-		<?php echo $renderer->render( $template_name, [
-			'field'       => $field,
-			'renderer'    => $renderer,
-			'name_prefix' => $name_prefix,
-			'value'       => $value,
-		] ); ?>
+		<?php
+		echo wp_kses_post(
+			$renderer->render(
+				$template_name,
+				[
+					'field'       => $field,
+					'renderer'    => $renderer,
+					'name_prefix' => $name_prefix,
+					'value'       => $value,
+				]
+			)
+		);
+		?>
 
-		<?php if ( $field->has_description() ): ?>
+		<?php if ( $field->has_description() ) : ?>
 			<p class="description"><?php echo wp_kses_post( $field->get_description() ); ?></p>
 		<?php endif; ?>
 	</td>
diff --git a/templates/form-label.php b/templates/form-label.php
index 703ed78e6909b409488e2697cb997c5dcb7ebe37..8eeaf286cfcf1622a9e3a73d2b93841e9c495944 100644
--- a/templates/form-label.php
+++ b/templates/form-label.php
@@ -4,11 +4,12 @@
  * @var string $name_prefix
  * @var string $value
  */
+
 ?>
 <th class="titledesc" scope="row">
-	<label for="<?php echo esc_attr( $field->get_id() ); ?>"><?php echo esc_html( $field->get_label() ); ?>
-		<?php if ( $field->has_description_tip() ): ?>
-			<?php echo wc_help_tip($field->get_description_tip()); ?>
+	<label for="<?php echo \esc_attr( $field->get_id() ); ?>"><?php echo \esc_html( $field->get_label() ); ?>
+		<?php if ( $field->has_description_tip() ) : ?>
+			<?php echo esc_html( wc_help_tip( $field->get_description_tip() ) ); ?>
 		<?php endif ?>
 	</label>
 </th>
diff --git a/templates/form-start.php b/templates/form-start.php
index 10d7686b33c36da7e75ad8976b1363a368904eac..d311794d7f225049be5f3b1af565e76439b8a193 100644
--- a/templates/form-start.php
+++ b/templates/form-start.php
@@ -2,9 +2,10 @@
 /**
  * @var \WPDesk\Forms\Form\FormWithFields $form
  */
+
 ?>
-<form class="wrap woocommerce" method="<?php echo esc_attr($form->get_method()); ?>" action="<?php echo esc_attr($form->get_action()); ?>">
-	<h2 style="display:none;"></h2><?php // All admin notices will be moved here by WP js ?>
+<form class="wrap woocommerce" method="<?php echo \esc_attr( $form->get_method() ); ?>" action="<?php echo \esc_attr( $form->get_action() ); ?>">
+	<h2 style="display:none;"></h2><?php // All admin notices will be moved here by WP js. ?>
 
 	<table class="form-table">
 		<tbody>
diff --git a/templates/header.php b/templates/header.php
index db07896cde8c2c90da788afbc6fc7d63bc302ffb..ec06536ea742126c9ee419c5a8a96fb8b03906fc 100644
--- a/templates/header.php
+++ b/templates/header.php
@@ -9,10 +9,10 @@ $header_size = (int) $field->get_meta_value( 'header_size' ) ?: 2;
 $classes     = $field->has_classes() ? 'class="' . esc_attr( $field->get_classes() ) . '"' : '';
 ?>
 
-<?php if ( $field->has_label() ): ?>
-	<h<?php echo $header_size; ?> <?php echo $classes; ?>><?php echo esc_html( $field->get_label() ); ?></h<?php echo $header_size; ?>>
+<?php if ( $field->has_label() ) : ?>
+	<h<?php echo \esc_attr( $header_size ); ?> <?php echo \esc_attr( $classes ); ?>><?php echo \esc_html( $field->get_label() ); ?></h<?php echo \esc_attr( $header_size ); ?>>
 <?php endif; ?>
 
-<?php if ( $field->has_description() ): ?>
-	<p <?php echo $classes; ?>><?php echo wp_kses_post( $field->get_description() ); ?></p>
+<?php if ( $field->has_description() ) : ?>
+	<p <?php echo \esc_attr( $classes ); ?>><?php echo wp_kses_post( $field->get_description() ); ?></p>
 <?php endif; ?>
diff --git a/templates/input-checkbox.php b/templates/input-checkbox.php
index 61dc39f5a6c06fa680a3969e7a53084c3e1bf0b1..8474091fbb6d8db0e476178312bb6f471f409e00 100644
--- a/templates/input-checkbox.php
+++ b/templates/input-checkbox.php
@@ -4,15 +4,20 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
+
 ?>
 
-<?php echo $renderer->render('input', [
-	'field' => $field,
-	'renderer' => $renderer,
-	'name_prefix' => $name_prefix,
-	'value' => $value,
-]); ?>
+<?php
+echo wp_kses_post(
+	$renderer->render(
+		'input',
+		[
+			'field'       => $field,
+			'renderer'    => $renderer,
+			'name_prefix' => $name_prefix,
+			'value'       => $value,
+		]
+	)
+);
diff --git a/templates/input-date-picker.php b/templates/input-date-picker.php
index 7dea70268a228dd4633706c03d931b613e93a9f1..3caa4c6b576606555c250c489df9f4b9bdd44a76 100644
--- a/templates/input-date-picker.php
+++ b/templates/input-date-picker.php
@@ -1,12 +1,20 @@
 <?php
-
 /**
  * @var \WPDesk\Forms\Field $field
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
-echo $renderer->render('input', ['field' => $field, 'renderer' => $renderer, 'name_prefix' => $name_prefix, 'value' => $value]);
+
+echo wp_kses_post(
+	$renderer->render(
+		'input',
+		[
+			'field'       => $field,
+			'renderer'    => $renderer,
+			'name_prefix' => $name_prefix,
+			'value'       => $value,
+		]
+	)
+);
diff --git a/templates/input-hidden.php b/templates/input-hidden.php
index 3effbd29c61a8eb271e5b199110318710978c54e..638855251f89759e07211a11a1d4d797fc026a58 100644
--- a/templates/input-hidden.php
+++ b/templates/input-hidden.php
@@ -4,14 +4,19 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
+
 ?>
-<?php echo $renderer->render('input', [
-	'field' => $field,
-	'renderer' => $renderer,
-	'name_prefix' => $name_prefix,
-	'value' => $value,
-]); ?>
+<?php
+echo wp_kses_post(
+	$renderer->render(
+		'input',
+		[
+			'field'       => $field,
+			'renderer'    => $renderer,
+			'name_prefix' => $name_prefix,
+			'value'       => $value,
+		]
+	)
+);
diff --git a/templates/input-image.php b/templates/input-image.php
index 34d13882e2fc34d6c461dd95be4d8b8cce6379b3..5111c4c2c5af3cc159eb7e44597f4b46a5a5bf22 100644
--- a/templates/input-image.php
+++ b/templates/input-image.php
@@ -7,28 +7,28 @@
 
 $media_container_id = 'media_' . sanitize_key( $field->get_id() );
 ?>
-<div class="media-input-wrapper" id="<?php echo $media_container_id; ?>">
-    <input type="hidden" class="image-field-value" value="<?php echo \esc_html( $value ); ?>"
-           name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>"
-           id="<?php echo \esc_attr( $field->get_id() ); ?>"/>
-    <div class="custom-img-container">
+<div class="media-input-wrapper" id="<?php echo \esc_attr( $media_container_id ); ?>">
+	<input type="hidden" class="image-field-value" value="<?php echo \esc_html( $value ); ?>"
+			name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>"
+			id="<?php echo \esc_attr( $field->get_id() ); ?>"/>
+	<div class="custom-img-container">
 		<?php if ( $value ) : ?>
-            <img src="<?php echo \esc_html( $value ) ?>" alt="" width="100"/>
+            <img src="<?php echo \esc_url( $value ) ?>" alt="" width="100"/>
 		<?php endif; ?>
     </div>
     <p class="hide-if-no-js">
-        <a class="upload-custom-img <?php if ( $value ): ?>hidden<?php endif ?>" href="<?php echo \esc_html( $value ) ?>">
-			<?php _e( 'Set image', 'wp-forms' ) ?>
+        <a class="upload-custom-img <?php if ( $value ): ?>hidden<?php endif ?>" href="<?php echo \esc_url( $value ) ?>">
+			<?php \esc_html_e( 'Set image', 'wp-forms' ) ?>
         </a>
         <a class="delete-custom-img <?php if ( ! $value ): ?>hidden<?php endif ?>" href="#">
-			<?php _e( 'Remove image', 'wp-forms' ) ?>
+			<?php \esc_html_e( 'Remove image', 'wp-forms' ) ?>
         </a>
     </p>
 </div>
 <script>
 	jQuery( function ( $ ) {
 		var frame,
-			metaBox = $( '#<?php echo esc_attr( $media_container_id ); ?>' ),
+			metaBox = $( '#<?php echo \esc_attr( $media_container_id ); ?>' ),
 			addImgLink = metaBox.find( '.upload-custom-img' ),
 			delImgLink = metaBox.find( '.delete-custom-img' ),
 			imgContainer = metaBox.find( '.custom-img-container' ),
@@ -42,9 +42,9 @@ $media_container_id = 'media_' . sanitize_key( $field->get_id() );
 			}
 
 			frame = wp.media( {
-				title: <?php _e( 'Select or Upload Media', 'wp-forms' ); ?>,
+				title: <?php esc_html_e( 'Select or Upload Media', 'wp-forms' ); ?>,
 				button: {
-					text: <?php _e( 'Use this media', 'wp-forms' ); ?>
+					text: <?php esc_html_e( 'Use this media', 'wp-forms' ); ?>
 				},
 				library: {
 					type: ['image']
diff --git a/templates/input-number.php b/templates/input-number.php
index 7dea70268a228dd4633706c03d931b613e93a9f1..3caa4c6b576606555c250c489df9f4b9bdd44a76 100644
--- a/templates/input-number.php
+++ b/templates/input-number.php
@@ -1,12 +1,20 @@
 <?php
-
 /**
  * @var \WPDesk\Forms\Field $field
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
-echo $renderer->render('input', ['field' => $field, 'renderer' => $renderer, 'name_prefix' => $name_prefix, 'value' => $value]);
+
+echo wp_kses_post(
+	$renderer->render(
+		'input',
+		[
+			'field'       => $field,
+			'renderer'    => $renderer,
+			'name_prefix' => $name_prefix,
+			'value'       => $value,
+		]
+	)
+);
diff --git a/templates/input-radio.php b/templates/input-radio.php
index 3effbd29c61a8eb271e5b199110318710978c54e..638855251f89759e07211a11a1d4d797fc026a58 100644
--- a/templates/input-radio.php
+++ b/templates/input-radio.php
@@ -4,14 +4,19 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
+
 ?>
-<?php echo $renderer->render('input', [
-	'field' => $field,
-	'renderer' => $renderer,
-	'name_prefix' => $name_prefix,
-	'value' => $value,
-]); ?>
+<?php
+echo wp_kses_post(
+	$renderer->render(
+		'input',
+		[
+			'field'       => $field,
+			'renderer'    => $renderer,
+			'name_prefix' => $name_prefix,
+			'value'       => $value,
+		]
+	)
+);
diff --git a/templates/input-submit.php b/templates/input-submit.php
index 5f676450462383025628b7c61a65355585efcb1f..bae3ce3c40857e82c287fc75e70827a468e288af 100644
--- a/templates/input-submit.php
+++ b/templates/input-submit.php
@@ -4,27 +4,38 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
+
 ?>
 
 <tr>
 	<td style="padding-left:0;">
 		<p class="submit">
 			<input
-				<?php if ( $field->has_classes() ): ?>class="<?php echo esc_attr( $field->get_classes() ); ?>"<?php endif; ?>
-				<?php foreach ( $field->get_attributes( [] ) as $key => $value ): ?>
-					<?php echo $key ?>="<?php echo esc_attr( $value ); ?>"
+				<?php
+				if ( $field->has_classes() ) :
+					?>
+					class="<?php echo \esc_attr( $field->get_classes() ); ?>"<?php endif; ?>
+				<?php foreach ( $field->get_attributes( [] ) as $key => $value ) : ?>
+					<?php echo \esc_attr( $key ); ?>="<?php echo \esc_attr( $value ); ?>"
 				<?php endforeach; ?>
-				type="<?php echo esc_attr( $field->get_type() ); ?>"
-				name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>]"
-				id="<?php echo esc_attr( $field->get_id() ); ?>"
-				value="<?php echo esc_html( $field->get_label() ); ?>"
-				<?php if ( $field->is_required() ): ?>required="required"<?php endif; ?>
-				<?php if ( $field->is_disabled() ): ?>disabled="disabled"<?php endif; ?>
-				<?php if ( $field->is_readonly() ): ?>readonly="readonly"<?php endif; ?>
+				type="<?php echo \esc_attr( $field->get_type() ); ?>"
+				name="<?php echo \esc_attr( $name_prefix ); ?>[<?php echo \esc_attr( $field->get_name() ); ?>]"
+				id="<?php echo \esc_attr( $field->get_id() ); ?>"
+				value="<?php echo \esc_html( $field->get_label() ); ?>"
+				<?php
+				if ( $field->is_required() ) :
+					?>
+					required="required"<?php endif; ?>
+				<?php
+				if ( $field->is_disabled() ) :
+					?>
+					disabled="disabled"<?php endif; ?>
+				<?php
+				if ( $field->is_readonly() ) :
+					?>
+					readonly="readonly"<?php endif; ?>
 			/>
 		</p>
 	</td>
diff --git a/templates/input-text-multiple.php b/templates/input-text-multiple.php
index 7d3fff829b5f52988afb67e097dac6aaed342495..371013d460c08017247573947a6c2f54e7a9a86a 100644
--- a/templates/input-text-multiple.php
+++ b/templates/input-text-multiple.php
@@ -4,51 +4,62 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
-?>
-<?php
-if( empty( $value ) || is_string( $value ) ) {
+
+if ( empty( $value ) || is_string( $value ) ) {
 	$input_values[] = '';
 } else {
 	$input_values = $value;
 }
 ?>
 <div class="clone-element-container">
-<?php foreach( $input_values as $text_value ): ?>
-<?php if (!\in_array($field->get_type(), ['number', 'text', 'hidden'])): ?>
-	<input type="hidden" name="<?php echo $name_prefix.'['.$field->get_name().']'; ?>" value="no"/>
+<?php foreach ( $input_values as $text_value ) : ?>
+	<?php if ( ! \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
+	<input type="hidden" name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>" value="no"/>
 <?php endif; ?>
 
-<?php if ($field->get_type() === 'checkbox' && $field->has_sublabel()): ?><label><?php endif; ?>
+	<?php
+	if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) :
+		?>
+		<label><?php endif; ?>
 	<div class="clone-wrapper">
 	<input
-		type="<?php echo \esc_attr($field->get_type()); ?>"
-		name="<?php echo \esc_attr($name_prefix).'['.\esc_attr($field->get_name()).'][]'; ?>"
-		id="<?php echo \esc_attr($field->get_id()); ?>"
+		type="<?php echo \esc_attr( $field->get_type() ); ?>"
+		name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . '][]'; ?>"
+		id="<?php echo \esc_attr( $field->get_id() ); ?>"
 
-		<?php if ($field->has_classes()): ?>
-			class="<?php echo \esc_attr($field->get_classes()); ?>"
+		<?php if ( $field->has_classes() ) : ?>
+			class="<?php echo \esc_attr( $field->get_classes() ); ?>"
 		<?php endif; ?>
 
-		<?php if ($field->get_type() === 'text' && $field->has_placeholder()):?>
-			placeholder="<?php echo \esc_html($field->get_placeholder());?>"
+		<?php if ( $field->get_type() === 'text' && $field->has_placeholder() ) : ?>
+			placeholder="<?php echo \esc_html( $field->get_placeholder() ); ?>"
 		<?php endif; ?>
 
-		<?php foreach ($field->get_attributes() as $key => $atr_val):
-			echo $key.'="'.\esc_attr($atr_val).'"'; ?>
+		<?php
+		foreach ( $field->get_attributes() as $key => $atr_val ) :
+			echo \esc_attr( $key ) . '="' . \esc_attr( $atr_val ) . '"';
+			?>
 		<?php endforeach; ?>
 
-		<?php if ($field->is_required()): ?>required="required"<?php endif; ?>
-		<?php if ($field->is_disabled()): ?>disabled="disabled"<?php endif; ?>
-		<?php if ($field->is_readonly()): ?>readonly="readonly"<?php endif; ?>
-		<?php if (\in_array($field->get_type(), ['number', 'text', 'hidden'])): ?>
-			value="<?php echo \esc_html($text_value); ?>"
-		<?php else: ?>
+		<?php
+		if ( $field->is_required() ) :
+			?>
+			required="required"<?php endif; ?>
+		<?php
+		if ( $field->is_disabled() ) :
+			?>
+			disabled="disabled"<?php endif; ?>
+		<?php
+		if ( $field->is_readonly() ) :
+			?>
+			readonly="readonly"<?php endif; ?>
+		<?php if ( \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
+			value="<?php echo \esc_html( $text_value ); ?>"
+		<?php else : ?>
 			value="yes"
-			<?php if ($value === 'yes'): ?>
+			<?php if ( $value === 'yes' ) : ?>
 				checked="checked"
 			<?php endif; ?>
 		<?php endif; ?>
@@ -57,25 +68,25 @@ if( empty( $value ) || is_string( $value ) ) {
 		<span class="remove-field hidden"><span class="dashicons dashicons-remove"></span></span>
 	</div>
 
-	<?php if ($field->get_type() === 'checkbox' && $field->has_sublabel()): ?>
-	<?php echo \esc_html($field->get_sublabel()); ?></label>
+	<?php if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) : ?>
+		<?php echo \esc_html( $field->get_sublabel() ); ?></label>
 <?php endif; ?>
 <?php endforeach; ?>
 </div>
 <style>
-    .clone-element-container .clone-wrapper .add-field {
-        display: none;
-    }
-    .clone-element-container .clone-wrapper:first-child .add-field {
-        display: inline-block;
-    }
+	.clone-element-container .clone-wrapper .add-field {
+		display: none;
+	}
+	.clone-element-container .clone-wrapper:first-child .add-field {
+		display: inline-block;
+	}
 
-    .clone-element-container .clone-wrapper .remove-field {
-        display: inline-block;
-    }
-    .clone-element-container .clone-wrapper:first-child .remove-field {
-        display: none;
-    }
+	.clone-element-container .clone-wrapper .remove-field {
+		display: inline-block;
+	}
+	.clone-element-container .clone-wrapper:first-child .remove-field {
+		display: none;
+	}
 </style>
 <script>
 	jQuery( function ( $ ) {
diff --git a/templates/input-text.php b/templates/input-text.php
index 3effbd29c61a8eb271e5b199110318710978c54e..3caa4c6b576606555c250c489df9f4b9bdd44a76 100644
--- a/templates/input-text.php
+++ b/templates/input-text.php
@@ -4,14 +4,17 @@
  * @var \WPDesk\View\Renderer\Renderer $renderer
  * @var string $name_prefix
  * @var string $value
- *
  * @var string $template_name Real field template.
- *
  */
-?>
-<?php echo $renderer->render('input', [
-	'field' => $field,
-	'renderer' => $renderer,
-	'name_prefix' => $name_prefix,
-	'value' => $value,
-]); ?>
+
+echo wp_kses_post(
+	$renderer->render(
+		'input',
+		[
+			'field'       => $field,
+			'renderer'    => $renderer,
+			'name_prefix' => $name_prefix,
+			'value'       => $value,
+		]
+	)
+);
diff --git a/templates/input.php b/templates/input.php
index b02e5eaccb625c0a3b0d0c1302e97e3eb8064da4..a4844b1c1e8ec1be5ea9b32532c5c0873f0f91ca 100644
--- a/templates/input.php
+++ b/templates/input.php
@@ -1,48 +1,60 @@
 <?php
-
 /**
  * @var \WPDesk\Forms\Field $field
  * @var string $name_prefix
  * @var string $value
  */
-?>
 
-<?php if (!\in_array($field->get_type(), ['number', 'text', 'hidden'])): ?>
-	<input type="hidden" name="<?php echo $name_prefix.'['.$field->get_name().']'; ?>" value="no"/>
+if ( ! \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
+	<input type="hidden" name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>" value="no"/>
 <?php endif; ?>
 
-<?php if ($field->get_type() === 'checkbox' && $field->has_sublabel()): ?><label><?php endif; ?>
+<?php
+if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) :
+	?>
+	<label><?php endif; ?>
 
 <input
-	type="<?php echo \esc_attr($field->get_type()); ?>"
-	name="<?php echo \esc_attr($name_prefix).'['.\esc_attr($field->get_name()).']'; ?>"
-	id="<?php echo \esc_attr($field->get_id()); ?>"
+	type="<?php echo \esc_attr( $field->get_type() ); ?>"
+	name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>"
+	id="<?php echo \esc_attr( $field->get_id() ); ?>"
 
-	<?php if ($field->has_classes()): ?>
-		class="<?php echo \esc_attr($field->get_classes()); ?>"
+	<?php if ( $field->has_classes() ) : ?>
+		class="<?php echo \esc_attr( $field->get_classes() ); ?>"
 	<?php endif; ?>
 
-	<?php if ($field->get_type() === 'text' && $field->has_placeholder()):?>
-		placeholder="<?php echo \esc_html($field->get_placeholder());?>"
+	<?php if ( $field->get_type() === 'text' && $field->has_placeholder() ) : ?>
+		placeholder="<?php echo \esc_html( $field->get_placeholder() ); ?>"
 	<?php endif; ?>
 
-	<?php foreach ($field->get_attributes() as $key => $atr_val):
-        echo $key.'="'.\esc_attr($atr_val).'"'; ?>
+	<?php
+	foreach ( $field->get_attributes() as $key => $atr_val ) :
+		echo \esc_attr( $key ) . '="' . \esc_attr( $atr_val ) . '"';
+		?>
 	<?php endforeach; ?>
 
-	<?php if ($field->is_required()): ?>required="required"<?php endif; ?>
-	<?php if ($field->is_disabled()): ?>disabled="disabled"<?php endif; ?>
-	<?php if ($field->is_readonly()): ?>readonly="readonly"<?php endif; ?>
-	<?php if (\in_array($field->get_type(), ['number', 'text', 'hidden'])): ?>
-		value="<?php echo \esc_html($value); ?>"
-	<?php else: ?>
+	<?php
+	if ( $field->is_required() ) :
+		?>
+		required="required"<?php endif; ?>
+	<?php
+	if ( $field->is_disabled() ) :
+		?>
+		disabled="disabled"<?php endif; ?>
+	<?php
+	if ( $field->is_readonly() ) :
+		?>
+		readonly="readonly"<?php endif; ?>
+	<?php if ( \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
+		value="<?php echo \esc_html( $value ); ?>"
+	<?php else : ?>
 		value="yes"
-		<?php if ($value === 'yes'): ?>
+		<?php if ( $value === 'yes' ) : ?>
 			checked="checked"
 		<?php endif; ?>
 	<?php endif; ?>
 />
 
-<?php if ($field->get_type() === 'checkbox' && $field->has_sublabel()): ?>
-	<?php echo \esc_html($field->get_sublabel()); ?></label>
+<?php if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) : ?>
+	<?php echo \esc_html( $field->get_sublabel() ); ?></label>
 <?php endif; ?>
diff --git a/templates/noonce.php b/templates/noonce.php
index 0cd58a561d5024e462e5c04cd9c471d7bc4794b7..edc9522d19a9f5d42e8b2b252d898fddecb93f3b 100644
--- a/templates/noonce.php
+++ b/templates/noonce.php
@@ -1,8 +1,8 @@
 <?php
-
 /**
  * @var \WPDesk\Forms\Field $field
  * @var string $name_prefix
  * @var string $value
  */
-\wp_nonce_field($field->get_meta_value('action'), $name_prefix .'['. $field->get_name().']');
+
+\wp_nonce_field( $field->get_meta_value( 'action' ), $name_prefix . '[' . $field->get_name() . ']' );
diff --git a/templates/paragraph.php b/templates/paragraph.php
index 184e3943c5975b7f9d37ae199df61c3778c34a5f..85fb04c7acfb36f454fa48c32c6bffc8e955c5f0 100644
--- a/templates/paragraph.php
+++ b/templates/paragraph.php
@@ -4,12 +4,15 @@
  * @var string $name_prefix
  * @var string $value
  */
-?>
 
-<?php if ( $field->has_description() ): ?>
+if ( $field->has_description() ) : ?>
 	<tr>
 		<td style="padding-left:0;" colspan="2">
-			<p <?php if ( $field->has_classes() ): ?>class="<?php echo $field->get_classes(); ?>"<?php endif; ?>><?php echo wp_kses_post( $field->get_description() ); ?></p>
+			<p
+			<?php
+			if ( $field->has_classes() ) :
+				?>
+				class="<?php echo \esc_attr( $field->get_classes() ); ?>"<?php endif; ?>><?php echo wp_kses_post( $field->get_description() ); ?></p>
 		</td>
 	</tr>
 <?php endif; ?>
diff --git a/templates/product-select.php b/templates/product-select.php
index 3efbbafe5f2a675bbd37171d63a1bdc2576e38ad..57dd47e8619e3df98ec71831647c2afb0bcd9d17 100644
--- a/templates/product-select.php
+++ b/templates/product-select.php
@@ -1,23 +1,26 @@
 <?php
-
 /**
  * @var \WPDesk\Forms\Field $field
  * @var string $name_prefix
  * @var string[] $value
  */
+
 ?>
 
 <select class="wc-product-search" multiple="multiple" style="width: 50%;"
-        id="<?php echo esc_attr( $field->get_id() ); ?>"
-        name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>][]"
-        data-placeholder="<?php esc_attr_e( 'Search for a product&hellip;', 'woocommerce' ); ?>"
-        data-action="woocommerce_json_search_products_and_variations">
+		id="<?php echo \esc_attr( $field->get_id() ); ?>"
+		name="<?php echo \esc_attr( $name_prefix ); ?>[<?php echo \esc_attr( $field->get_name() ); ?>][]"
+		data-placeholder="<?php \esc_attr_e( 'Search for a product&hellip;', 'wp-forms' ); ?>"
+		data-action="woocommerce_json_search_products_and_variations">
 	<?php
 	foreach ( (array) $value as $product_id ) {
 		$product = wc_get_product( $product_id );
 		if ( is_object( $product ) ) {
-			echo '<option value="' . esc_attr( $product_id ) . '"' . selected( true, true,
-					false ) . '>' . wp_kses_post( $product->get_formatted_name() ) . '</option>';
+			echo '<option value="' . \esc_attr( $product_id ) . '"' . selected(
+				true,
+				true,
+				false
+			) . '>' . wp_kses_post( $product->get_formatted_name() ) . '</option>';
 		}
 	}
 	?>
diff --git a/templates/select.php b/templates/select.php
index 0c533967388ea7e2dd27e3ccc7bf44bd748a8856..625c316bef04162c50b397f3759d4a623190b36f 100644
--- a/templates/select.php
+++ b/templates/select.php
@@ -4,26 +4,49 @@
  * @var string $name_prefix
  * @var mixed $value
  */
+
 ?>
+
 <select
-	id="<?php echo esc_attr( $field->get_id() ); ?>"
-	<?php if ($field->has_classes()): ?>class="<?php echo esc_attr( $field->get_classes() ); ?>"<?php endif; ?>
-	name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>]<?php echo $field->is_multiple()? '[]' : ''; ?>"
-	<?php foreach ($field->get_attributes() as $key => $attr_val): ?>
-		<?php echo esc_attr($key); ?>="<?php echo esc_attr($attr_val); ?>"
+	id="<?php echo \esc_attr( $field->get_id() ); ?>"
+	<?php
+	if ( $field->has_classes() ) :
+		?>
+		class="<?php echo \esc_attr( $field->get_classes() ); ?>"<?php endif; ?>
+	name="<?php echo \esc_attr( $name_prefix ); ?>[<?php echo \esc_attr( $field->get_name() ); ?>]<?php echo \esc_attr( $field->is_multiple() ) ? '[]' : ''; ?>"
+	<?php foreach ( $field->get_attributes() as $key => $attr_val ) : ?>
+		<?php echo \esc_attr( $key ); ?>="<?php echo \esc_attr( $attr_val ); ?>"
 	<?php endforeach; ?>
 
-	<?php if ($field->is_required()): ?>required="required"<?php endif; ?>
-	<?php if ($field->is_disabled()): ?>disabled="disabled"<?php endif; ?>
-	<?php if ($field->is_readonly()): ?>readonly="readonly"<?php endif; ?>
-	<?php if ($field->is_multiple()): ?>multiple="multiple"<?php endif; ?>
+	<?php
+	if ( $field->is_required() ) :
+		?>
+		required="required"<?php endif; ?>
+	<?php
+	if ( $field->is_disabled() ) :
+		?>
+		disabled="disabled"<?php endif; ?>
+	<?php
+	if ( $field->is_readonly() ) :
+		?>
+		readonly="readonly"<?php endif; ?>
+	<?php
+	if ( $field->is_multiple() ) :
+		?>
+		multiple="multiple"<?php endif; ?>
 >
-	<?php if ( $field->has_placeholder() ): ?><option value=""><?php echo esc_html( $field->get_placeholder() ); ?></option><?php endif; ?>
+	<?php
+	if ( $field->has_placeholder() ) :
+		?>
+		<option value=""><?php echo \esc_html( $field->get_placeholder() ); ?></option><?php endif; ?>
 
-	<?php foreach ( $field->get_possible_values() as $possible_value => $label ): ?>
+	<?php foreach ( $field->get_possible_values() as $possible_value => $label ) : ?>
 		<option
-			<?php if ( $possible_value === $value || (is_array($value) && in_array($possible_value, $value)) || (is_numeric($possible_value) && is_numeric($value) && (int) $possible_value === (int) $value )): ?>selected="selected"<?php endif; ?>
-			value="<?php echo esc_attr( $possible_value ); ?>"
-		><?php echo esc_html( $label ); ?></option>
+			<?php
+			if ( $possible_value === $value || ( is_array( $value ) && in_array( $possible_value, $value, true ) ) || ( is_numeric( $possible_value ) && is_numeric( $value ) && (int) $possible_value === (int) $value ) ) :
+				?>
+				selected="selected"<?php endif; ?>
+			value="<?php echo \esc_attr( $possible_value ); ?>"
+		><?php echo \esc_html( $label ); ?></option>
 	<?php endforeach; ?>
 </select>
diff --git a/templates/textarea.php b/templates/textarea.php
index cf2f2a7006edeb1d2aa59d8b7c59a547b1a320e6..8cf3846d8c3fd9e15175f04951845d4a6f071687 100644
--- a/templates/textarea.php
+++ b/templates/textarea.php
@@ -4,20 +4,39 @@
  * @var string $name_prefix
  * @var string $value
  */
+
 ?>
 
 <textarea
-    id="<?php echo esc_attr( $field->get_id() ); ?>"
-		<?php if ( $field->has_classes() ): ?>class="<?php echo esc_attr( $field->get_classes() ); ?>"<?php endif; ?>
-	name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>]"
-    <?php foreach ( $field->get_attributes() as $key => $attr_val ): ?>
-    <?php echo esc_attr( $key ); ?>="<?php echo esc_attr( $attr_val ); ?>"
-    <?php endforeach; ?>
+	id="<?php echo \esc_attr( $field->get_id() ); ?>"
+		<?php
+		if ( $field->has_classes() ) :
+			?>
+			class="<?php echo \esc_attr( $field->get_classes() ); ?>"<?php endif; ?>
+	name="<?php echo \esc_attr( $name_prefix ); ?>[<?php echo \esc_attr( $field->get_name() ); ?>]"
+	<?php foreach ( $field->get_attributes() as $key => $attr_val ) : ?>
+		<?php echo \esc_attr( $key ); ?>="<?php echo \esc_attr( $attr_val ); ?>"
+	<?php endforeach; ?>
 
-    <?php if ( $field->is_required() ): ?>required="required"<?php endif; ?>
-    <?php if ( $field->is_disabled() ): ?>disabled="disabled"<?php endif; ?>
-    <?php if ( $field->is_readonly() ): ?>readonly="readonly"<?php endif; ?>
-    <?php if ( $field->is_multiple() ): ?>multiple="multiple"<?php endif; ?>
+	<?php
+	if ( $field->is_required() ) :
+		?>
+		required="required"<?php endif; ?>
+	<?php
+	if ( $field->is_disabled() ) :
+		?>
+		disabled="disabled"<?php endif; ?>
+	<?php
+	if ( $field->is_readonly() ) :
+		?>
+		readonly="readonly"<?php endif; ?>
+	<?php
+	if ( $field->is_multiple() ) :
+		?>
+		multiple="multiple"<?php endif; ?>
 
-    <?php if ( $field->has_placeholder() ): ?>placeholder="<?php echo esc_html( $field->get_placeholder() ); ?>"<?php endif; ?>
-><?php echo esc_html( $value ); ?></textarea>
+	<?php
+	if ( $field->has_placeholder() ) :
+		?>
+		placeholder="<?php echo \esc_html( $field->get_placeholder() ); ?>"<?php endif; ?>
+><?php echo \esc_html( $value ); ?></textarea>
diff --git a/templates/wyswig.php b/templates/wyswig.php
index fd1ea9daa103a72921b0fee100309329b59c21d8..893aec944e15299fbef7002c2bce4d933ddcb102 100644
--- a/templates/wyswig.php
+++ b/templates/wyswig.php
@@ -4,23 +4,24 @@
  * @var string $name_prefix
  * @var string $value
  */
-?>
-<?php wp_print_styles( 'media-views' ); ?>
+
+wp_print_styles( 'media-views' ); ?>
+
 <script>
 	window.SM_EditorInitialized = true;
 </script>
 
 
 <?php
-$id              = uniqid( 'wyswig_' );
-$editor_settings = array(
-	'textarea_name' => esc_attr( $name_prefix ) . '[' . esc_attr( $field->get_name() ) . ']'
-);
+$editor_id       = uniqid( 'wyswig_' );
+$editor_settings = [
+	'textarea_name' => \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']',
+];
 
-wp_editor( wp_kses_post( $value ), $id, $editor_settings );
+wp_editor( wp_kses_post( $value ), $editor_id, $editor_settings );
 ?>
 <script type="text/javascript">
 	(function () {
-		ShopMagic.wyswig.init('<?php echo $id; ?>');
+		ShopMagic.wyswig.init('<?php echo \esc_attr( $editor_id ); ?>');
 	}());
 </script>