Skip to content
Snippets Groups Projects
Unverified Commit 47c8e032 authored by Bartek Jaskulski's avatar Bartek Jaskulski
Browse files

feat: add escaping functions in templates

parent 7596dd72
No related branches found
No related tags found
3 merge requests!28release: 3.0.0,!23Feature/strong typing pp,!19Add strong typing for 3.0 version
Showing
with 136 additions and 123 deletions
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
--> -->
<!-- Define plugin text domain for i18n. --> <!-- Define plugin text domain for i18n. -->
<config name="text_domain" value="shopmagic-for-woocommerce"/> <config name="text_domain" value="wp-forms"/>
<!-- This value should be aligned with WordPress support version declared in plugin header --> <!-- This value should be aligned with WordPress support version declared in plugin header -->
<config name="minimum_supported_wp_version" value="5.0"/> <config name="minimum_supported_wp_version" value="5.0"/>
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
...@@ -16,7 +15,7 @@ ...@@ -16,7 +15,7 @@
<?php endif; ?> <?php endif; ?>
<?php foreach ( $field->get_attributes( [] ) as $key => $val ) : ?> <?php foreach ( $field->get_attributes( [] ) as $key => $val ) : ?>
<?php echo $key . '="' . \esc_attr( $val ) . '"'; ?> <?php echo \esc_attr( $key ) . '="' . \esc_attr( $val ) . '"'; ?>
<?php endforeach; ?> <?php endforeach; ?>
type="<?php echo \esc_attr( $field->get_type() ); ?>" type="<?php echo \esc_attr( $field->get_type() ); ?>"
......
<?php
/**
* Form ending with hoverable tip snippet in js.
*/
?>
</tbody> </tbody>
</table> </table>
</form> </form>
......
...@@ -4,19 +4,20 @@ ...@@ -4,19 +4,20 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
?> ?>
<tr valign="top"> <tr valign="top">
<?php if ( $field->has_label() ) : ?> <?php if ( $field->has_label() ) : ?>
<?php echo $renderer->render( 'form-label', [ 'field' => $field ] ); ?> <?php echo wp_kses_post( $renderer->render( 'form-label', [ 'field' => $field ] ) ); ?>
<?php endif; ?> <?php endif; ?>
<td class="forminp"> <td class="forminp">
<?php <?php
echo $renderer->render( echo wp_kses_post(
$renderer->render(
$template_name, $template_name,
[ [
'field' => $field, 'field' => $field,
...@@ -24,6 +25,7 @@ ...@@ -24,6 +25,7 @@
'name_prefix' => $name_prefix, 'name_prefix' => $name_prefix,
'value' => $value, 'value' => $value,
] ]
)
); );
?> ?>
......
...@@ -4,11 +4,12 @@ ...@@ -4,11 +4,12 @@
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*/ */
?> ?>
<th class="titledesc" scope="row"> <th class="titledesc" scope="row">
<label for="<?php echo esc_attr( $field->get_id() ); ?>"><?php echo esc_html( $field->get_label() ); ?> <label for="<?php echo \esc_attr( $field->get_id() ); ?>"><?php echo \esc_html( $field->get_label() ); ?>
<?php if ( $field->has_description_tip() ) : ?> <?php if ( $field->has_description_tip() ) : ?>
<?php echo wc_help_tip( $field->get_description_tip() ); ?> <?php echo esc_html( wc_help_tip( $field->get_description_tip() ) ); ?>
<?php endif ?> <?php endif ?>
</label> </label>
</th> </th>
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
/** /**
* @var \WPDesk\Forms\Form\FormWithFields $form * @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() ); ?>"> <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 ?> <h2 style="display:none;"></h2><?php // All admin notices will be moved here by WP js. ?>
<table class="form-table"> <table class="form-table">
<tbody> <tbody>
...@@ -11,9 +11,9 @@ $classes = $field->has_classes() ? 'class="' . esc_attr( $field->get_classes ...@@ -11,9 +11,9 @@ $classes = $field->has_classes() ? 'class="' . esc_attr( $field->get_classes
?> ?>
<?php if ( $field->has_label() ) : ?> <?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; ?>> <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 endif; ?>
<?php if ( $field->has_description() ) : ?> <?php if ( $field->has_description() ) : ?>
<p <?php echo $classes; ?>><?php echo wp_kses_post( $field->get_description() ); ?></p> <p <?php echo \esc_attr( $classes ); ?>><?php echo wp_kses_post( $field->get_description() ); ?></p>
<?php endif; ?> <?php endif; ?>
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
?> ?>
<?php <?php
echo $renderer->render( echo wp_kses_post(
$renderer->render(
'input', 'input',
[ [
'field' => $field, 'field' => $field,
...@@ -19,4 +19,5 @@ echo $renderer->render( ...@@ -19,4 +19,5 @@ echo $renderer->render(
'name_prefix' => $name_prefix, 'name_prefix' => $name_prefix,
'value' => $value, 'value' => $value,
] ]
)
); );
<?php <?php
/** /**
* @var \WPDesk\Forms\Field $field * @var \WPDesk\Forms\Field $field
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
echo $renderer->render(
echo wp_kses_post(
$renderer->render(
'input', 'input',
[ [
'field' => $field, 'field' => $field,
...@@ -16,4 +16,5 @@ echo $renderer->render( ...@@ -16,4 +16,5 @@ echo $renderer->render(
'name_prefix' => $name_prefix, 'name_prefix' => $name_prefix,
'value' => $value, 'value' => $value,
] ]
)
); );
...@@ -4,12 +4,13 @@ ...@@ -4,12 +4,13 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
?> ?>
<?php <?php
echo $renderer->render( echo wp_kses_post(
$renderer->render(
'input', 'input',
[ [
'field' => $field, 'field' => $field,
...@@ -17,4 +18,5 @@ echo $renderer->render( ...@@ -17,4 +18,5 @@ echo $renderer->render(
'name_prefix' => $name_prefix, 'name_prefix' => $name_prefix,
'value' => $value, 'value' => $value,
] ]
)
); );
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
$media_container_id = 'media_' . sanitize_key( $field->get_id() ); $media_container_id = 'media_' . sanitize_key( $field->get_id() );
?> ?>
<div class="media-input-wrapper" id="<?php echo esc_attr( $media_container_id ); ?>"> <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 ); ?>" <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() ) . ']'; ?>" name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>"
id="<?php echo \esc_attr( $field->get_id() ); ?>"/> id="<?php echo \esc_attr( $field->get_id() ); ?>"/>
<div class="custom-img-container"> <div class="custom-img-container">
<?php if ( $value ) : ?> <?php if ( $value ) : ?>
<img src="<?php echo $value; ?>" alt="" width="100"/> <img src="<?php echo \esc_attr( $value ); ?>" alt="" width="100"/>
<?php endif; ?> <?php endif; ?>
</div> </div>
<p class="hide-if-no-js"> <p class="hide-if-no-js">
...@@ -21,22 +21,22 @@ $media_container_id = 'media_' . sanitize_key( $field->get_id() ); ...@@ -21,22 +21,22 @@ $media_container_id = 'media_' . sanitize_key( $field->get_id() );
<?php <?php
if ( $value ) : if ( $value ) :
?> ?>
hidden<?php endif ?>" href="<?php echo $value; ?>"> hidden<?php endif ?>" href="<?php echo \esc_attr( $value ); ?>">
<?php _e( 'Set image', 'wp-forms' ); ?> <?php esc_html_e( 'Set image', 'wp-forms' ); ?>
</a> </a>
<a class="delete-custom-img <a class="delete-custom-img
<?php <?php
if ( ! $value ) : if ( ! $value ) :
?> ?>
hidden<?php endif ?>" href="#"> hidden<?php endif ?>" href="#">
<?php _e( 'Remove image', 'wp-forms' ); ?> <?php esc_html_e( 'Remove image', 'wp-forms' ); ?>
</a> </a>
</p> </p>
</div> </div>
<script> <script>
jQuery( function ( $ ) { jQuery( function ( $ ) {
var frame, var frame,
metaBox = $( '#<?php echo esc_attr( $media_container_id ); ?>' ), metaBox = $( '#<?php echo \esc_attr( $media_container_id ); ?>' ),
addImgLink = metaBox.find( '.upload-custom-img' ), addImgLink = metaBox.find( '.upload-custom-img' ),
delImgLink = metaBox.find( '.delete-custom-img' ), delImgLink = metaBox.find( '.delete-custom-img' ),
imgContainer = metaBox.find( '.custom-img-container' ), imgContainer = metaBox.find( '.custom-img-container' ),
...@@ -50,9 +50,9 @@ $media_container_id = 'media_' . sanitize_key( $field->get_id() ); ...@@ -50,9 +50,9 @@ $media_container_id = 'media_' . sanitize_key( $field->get_id() );
} }
frame = wp.media( { frame = wp.media( {
title: <?php _e( 'Select or Upload Media', 'wp-forms' ); ?>, title: <?php esc_html_e( 'Select or Upload Media', 'wp-forms' ); ?>,
button: { button: {
text: <?php _e( 'Use this media', 'wp-forms' ); ?> text: <?php esc_html_e( 'Use this media', 'wp-forms' ); ?>
}, },
library: { library: {
type: ['image'] type: ['image']
......
<?php <?php
/** /**
* @var \WPDesk\Forms\Field $field * @var \WPDesk\Forms\Field $field
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
echo $renderer->render(
echo wp_kses_post(
$renderer->render(
'input', 'input',
[ [
'field' => $field, 'field' => $field,
...@@ -16,4 +16,5 @@ echo $renderer->render( ...@@ -16,4 +16,5 @@ echo $renderer->render(
'name_prefix' => $name_prefix, 'name_prefix' => $name_prefix,
'value' => $value, 'value' => $value,
] ]
)
); );
...@@ -4,12 +4,13 @@ ...@@ -4,12 +4,13 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
?> ?>
<?php <?php
echo $renderer->render( echo wp_kses_post(
$renderer->render(
'input', 'input',
[ [
'field' => $field, 'field' => $field,
...@@ -17,4 +18,5 @@ echo $renderer->render( ...@@ -17,4 +18,5 @@ echo $renderer->render(
'name_prefix' => $name_prefix, 'name_prefix' => $name_prefix,
'value' => $value, 'value' => $value,
] ]
)
); );
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
?> ?>
<tr> <tr>
...@@ -16,14 +16,14 @@ ...@@ -16,14 +16,14 @@
<?php <?php
if ( $field->has_classes() ) : if ( $field->has_classes() ) :
?> ?>
class="<?php echo esc_attr( $field->get_classes() ); ?>"<?php endif; ?> class="<?php echo \esc_attr( $field->get_classes() ); ?>"<?php endif; ?>
<?php foreach ( $field->get_attributes( [] ) as $key => $value ) : ?> <?php foreach ( $field->get_attributes( [] ) as $key => $value ) : ?>
<?php echo $key; ?>="<?php echo esc_attr( $value ); ?>" <?php echo \esc_attr( $key ); ?>="<?php echo \esc_attr( $value ); ?>"
<?php endforeach; ?> <?php endforeach; ?>
type="<?php echo esc_attr( $field->get_type() ); ?>" type="<?php echo \esc_attr( $field->get_type() ); ?>"
name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>]" name="<?php echo \esc_attr( $name_prefix ); ?>[<?php echo \esc_attr( $field->get_name() ); ?>]"
id="<?php echo esc_attr( $field->get_id() ); ?>" id="<?php echo \esc_attr( $field->get_id() ); ?>"
value="<?php echo esc_html( $field->get_label() ); ?>" value="<?php echo \esc_html( $field->get_label() ); ?>"
<?php <?php
if ( $field->is_required() ) : if ( $field->is_required() ) :
?> ?>
......
...@@ -4,11 +4,9 @@ ...@@ -4,11 +4,9 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
?>
<?php
if ( empty( $value ) || is_string( $value ) ) { if ( empty( $value ) || is_string( $value ) ) {
$input_values[] = ''; $input_values[] = '';
} else { } else {
...@@ -17,8 +15,8 @@ if ( empty( $value ) || is_string( $value ) ) { ...@@ -17,8 +15,8 @@ if ( empty( $value ) || is_string( $value ) ) {
?> ?>
<div class="clone-element-container"> <div class="clone-element-container">
<?php foreach ( $input_values as $text_value ) : ?> <?php foreach ( $input_values as $text_value ) : ?>
<?php if ( ! \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ] ) ) : ?> <?php if ( ! \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
<input type="hidden" name="<?php echo $name_prefix . '[' . $field->get_name() . ']'; ?>" value="no"/> <input type="hidden" name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>" value="no"/>
<?php endif; ?> <?php endif; ?>
<?php <?php
...@@ -41,7 +39,7 @@ if ( empty( $value ) || is_string( $value ) ) { ...@@ -41,7 +39,7 @@ if ( empty( $value ) || is_string( $value ) ) {
<?php <?php
foreach ( $field->get_attributes() as $key => $atr_val ) : foreach ( $field->get_attributes() as $key => $atr_val ) :
echo $key . '="' . \esc_attr( $atr_val ) . '"'; echo \esc_attr( $key ) . '="' . \esc_attr( $atr_val ) . '"';
?> ?>
<?php endforeach; ?> <?php endforeach; ?>
...@@ -57,7 +55,7 @@ if ( empty( $value ) || is_string( $value ) ) { ...@@ -57,7 +55,7 @@ if ( empty( $value ) || is_string( $value ) ) {
if ( $field->is_readonly() ) : if ( $field->is_readonly() ) :
?> ?>
readonly="readonly"<?php endif; ?> readonly="readonly"<?php endif; ?>
<?php if ( \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ] ) ) : ?> <?php if ( \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
value="<?php echo \esc_html( $text_value ); ?>" value="<?php echo \esc_html( $text_value ); ?>"
<?php else : ?> <?php else : ?>
value="yes" value="yes"
......
...@@ -4,12 +4,11 @@ ...@@ -4,12 +4,11 @@
* @var \WPDesk\View\Renderer\Renderer $renderer * @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*
* @var string $template_name Real field template. * @var string $template_name Real field template.
*/ */
?>
<?php echo wp_kses_post(
echo $renderer->render( $renderer->render(
'input', 'input',
[ [
'field' => $field, 'field' => $field,
...@@ -17,4 +16,5 @@ echo $renderer->render( ...@@ -17,4 +16,5 @@ echo $renderer->render(
'name_prefix' => $name_prefix, 'name_prefix' => $name_prefix,
'value' => $value, 'value' => $value,
] ]
)
); );
<?php <?php
/** /**
* @var \WPDesk\Forms\Field $field * @var \WPDesk\Forms\Field $field
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*/ */
?>
<?php if ( ! \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ] ) ) : ?> if ( ! \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
<input type="hidden" name="<?php echo $name_prefix . '[' . $field->get_name() . ']'; ?>" value="no"/> <input type="hidden" name="<?php echo \esc_attr( $name_prefix ) . '[' . \esc_attr( $field->get_name() ) . ']'; ?>" value="no"/>
<?php endif; ?> <?php endif; ?>
<?php <?php
...@@ -31,7 +29,7 @@ if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) : ...@@ -31,7 +29,7 @@ if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) :
<?php <?php
foreach ( $field->get_attributes() as $key => $atr_val ) : foreach ( $field->get_attributes() as $key => $atr_val ) :
echo $key . '="' . \esc_attr( $atr_val ) . '"'; echo \esc_attr( $key ) . '="' . \esc_attr( $atr_val ) . '"';
?> ?>
<?php endforeach; ?> <?php endforeach; ?>
...@@ -47,7 +45,7 @@ if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) : ...@@ -47,7 +45,7 @@ if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) :
if ( $field->is_readonly() ) : if ( $field->is_readonly() ) :
?> ?>
readonly="readonly"<?php endif; ?> readonly="readonly"<?php endif; ?>
<?php if ( \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ] ) ) : ?> <?php if ( \in_array( $field->get_type(), [ 'number', 'text', 'hidden' ], true ) ) : ?>
value="<?php echo \esc_html( $value ); ?>" value="<?php echo \esc_html( $value ); ?>"
<?php else : ?> <?php else : ?>
value="yes" value="yes"
......
...@@ -4,16 +4,15 @@ ...@@ -4,16 +4,15 @@
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*/ */
?>
<?php if ( $field->has_description() ) : ?> if ( $field->has_description() ) : ?>
<tr> <tr>
<td style="padding-left:0;" colspan="2"> <td style="padding-left:0;" colspan="2">
<p <p
<?php <?php
if ( $field->has_classes() ) : if ( $field->has_classes() ) :
?> ?>
class="<?php echo $field->get_classes(); ?>"<?php endif; ?>><?php echo wp_kses_post( $field->get_description() ); ?></p> class="<?php echo \esc_attr( $field->get_classes() ); ?>"<?php endif; ?>><?php echo wp_kses_post( $field->get_description() ); ?></p>
</td> </td>
</tr> </tr>
<?php endif; ?> <?php endif; ?>
...@@ -8,15 +8,15 @@ ...@@ -8,15 +8,15 @@
?> ?>
<select class="wc-product-search" multiple="multiple" style="width: 50%;" <select class="wc-product-search" multiple="multiple" style="width: 50%;"
id="<?php echo esc_attr( $field->get_id() ); ?>" id="<?php echo \esc_attr( $field->get_id() ); ?>"
name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>][]" 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-placeholder="<?php \esc_attr_e( 'Search for a product&hellip;', 'wp-forms' ); ?>"
data-action="woocommerce_json_search_products_and_variations"> data-action="woocommerce_json_search_products_and_variations">
<?php <?php
foreach ( (array) $value as $product_id ) { foreach ( (array) $value as $product_id ) {
$product = wc_get_product( $product_id ); $product = wc_get_product( $product_id );
if ( is_object( $product ) ) { if ( is_object( $product ) ) {
echo '<option value="' . esc_attr( $product_id ) . '"' . selected( echo '<option value="' . \esc_attr( $product_id ) . '"' . selected(
true, true,
true, true,
false false
......
...@@ -4,16 +4,18 @@ ...@@ -4,16 +4,18 @@
* @var string $name_prefix * @var string $name_prefix
* @var mixed $value * @var mixed $value
*/ */
?> ?>
<select <select
id="<?php echo esc_attr( $field->get_id() ); ?>" id="<?php echo \esc_attr( $field->get_id() ); ?>"
<?php <?php
if ( $field->has_classes() ) : if ( $field->has_classes() ) :
?> ?>
class="<?php echo esc_attr( $field->get_classes() ); ?>"<?php endif; ?> 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() ? '[]' : ''; ?>" 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 foreach ( $field->get_attributes() as $key => $attr_val ) : ?>
<?php echo esc_attr( $key ); ?>="<?php echo esc_attr( $attr_val ); ?>" <?php echo \esc_attr( $key ); ?>="<?php echo \esc_attr( $attr_val ); ?>"
<?php endforeach; ?> <?php endforeach; ?>
<?php <?php
...@@ -36,15 +38,15 @@ ...@@ -36,15 +38,15 @@
<?php <?php
if ( $field->has_placeholder() ) : if ( $field->has_placeholder() ) :
?> ?>
<option value=""><?php echo esc_html( $field->get_placeholder() ); ?></option><?php endif; ?> <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 <option
<?php <?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 ) ) : 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; ?> selected="selected"<?php endif; ?>
value="<?php echo esc_attr( $possible_value ); ?>" value="<?php echo \esc_attr( $possible_value ); ?>"
><?php echo esc_html( $label ); ?></option> ><?php echo \esc_html( $label ); ?></option>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment