PluginProbe
QuickWebP – WebP & AVIF Image Optimizer, Compression & SEO for WordPress / 3.3.0
QuickWebP – WebP & AVIF Image Optimizer, Compression & SEO for WordPress v3.3.0
4.1.1 4.1.0 4.0.1 4.0.0 3.3.1 3.3.0 trunk 1.0.0 2.0.0 2.1.0 3.0.0 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8
quickwebp / admin / components / select.php

select.php in QuickWebP – WebP & AVIF Image Optimizer, Compression & SEO for WordPress 3.3.0, at admin/components/select.php

49 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Select component for the settings page
4 */
5
6 $key_option = sanitize_key( $data['name'] );
7
8 if( isset( $key_option, $_POST[ $key_option ] ) ) {
9 $value_to_save = sanitize_text_field( wp_unslash( $_POST[ $key_option ] ) );
10 $allowed_values = array();
11
12 if ( isset( $data['options'] ) && is_array( $data['options'] ) ) {
13 foreach ( $data['options'] as $option ) {
14 $allowed_values[] = isset( $option['value'] ) ? (string) $option['value'] : '';
15 }
16 }
17
18 if ( in_array( $value_to_save, $allowed_values, true ) ) {
19 update_option( $key_option, $value_to_save );
20 }
21 }
22 if(isset($data['options']) && is_array($data['options'])) {
23 ?>
24 <select
25 name="<?php echo esc_attr( $key_option ?? '' ); ?>"
26 id="<?php echo esc_attr( $key_option ?? '' ); ?>"
27 >
28 <?php if( isset( $data['placeholder'] ) ): ?>
29 <option value="">
30 <?php echo esc_html( $data['placeholder'] ?? __( 'Select an option', QUICKWEBP_TEXT_DOMAIN ) ); ?>
31 </option>
32 <?php endif; ?>
33
34 <?php
35 $option_saved = get_option( $key_option, $data['default'] );
36 foreach( $data['options'] as $option ) {
37 ?>
38 <option
39 value="<?php echo esc_attr( $option['value'] ?? '' ); ?>"
40 <?php selected( $option['value'], $option_saved ); ?>
41 >
42 <?php echo esc_html( $option['label'] ?? '' ); ?>
43 </option>
44 <?php
45 }
46 ?>
47 </select>
48 <?php
49 }