# quickwebp/3.3.0/admin/components/checkbox.php

QuickWebP – WebP &amp; AVIF Image Optimizer, Compression &amp; SEO for WordPress, version 3.3.0. 38 lines.

- Page: https://pluginprobe.com/plugins/quickwebp/3.3.0/code/admin/components/checkbox.php
- Raw: https://pluginprobe.com/plugins/quickwebp/3.3.0/raw/admin/components/checkbox.php
- Modified: 2026-07-08T15:10:56+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/quickwebp/3.3.0/code/admin/components/checkbox.php#L10-L20`.

```php
<?php 
/**
 * Checkbox component for the settings page
 */
$key_option = sanitize_key( $data['name'] );

if( isset( $key_option, $_POST[ $key_option ] ) ) {

    $raw_value = wp_unslash( $_POST[ $key_option ] );
    $value     = is_array( $raw_value ) ? array_map( 'sanitize_text_field', $raw_value ) : array();
    update_option( $key_option, $value );
    
}
if(isset($data['options']) && is_array($data['options'])) {
    ?>
    <input type="hidden" name="<?php echo esc_attr( $key_option ?? '' ); ?>" value="">
    <div class="quickwebp-options">
        <?php
        $option_saved = get_option( $key_option, $data['default'] );
        $option_saved = is_array( $option_saved ) ? $option_saved : array();
        foreach( $data['options'] as $key => $option ) {
            ?>
            <label>
                <input
                    type="checkbox" 
                    name="<?php echo esc_attr( $key_option ?? '' ); ?>[]"
                    id="<?php echo esc_attr( ($key_option ?? '') . "-$key" ); ?>"
                    value="<?php echo esc_attr( $option['value'] ?? '' ); ?>"
                    <?php checked( in_array( $option['value'], $option_saved ) ); ?>
                >
                <?php echo esc_html( $option['label'] ?? '' ); ?>
            </label>
            <?php
        }
        ?>
    </div>
    <?php
}
```
