'integer', 'sanitize_callback' => array( $this, 'sanitize_quality' ), 'default' => 80, ) ); add_settings_section( 'AHSITW_main_section', __( 'WebP Settings', 'ahs-image-to-webp-converter' ), null, 'ahsitw-settings' ); add_settings_field( 'AHSITW_quality', __( 'WebP Quality', 'ahs-image-to-webp-converter' ), array( $this, 'render_quality_field' ), 'ahsitw-settings', 'AHSITW_main_section' ); } /** * Sanitize quality setting. * * @param mixed $value * @return int */ public function sanitize_quality( $value ) { $quality = absint( $value ); if ( $quality < 1 || $quality > 100 ) { return 80; } return $quality; } /** * Render quality field. */ public function render_quality_field() { $value = absint( get_option( 'AHSITW_quality', 80 ) ); ?>


' . esc_html( number_format_i18n( $remaining ) ) . '', esc_html( number_format_i18n( ahsitw_get_free_limit() ) ) ); ?>

0 ) : ?>

✔

id, array( 'upload', 'settings_page_ahsitw-settings' ), true ) ) { return; } if ( ! AHSITW_Limiter::can_convert() && ! AHSITW_Limiter::is_premium() ) { ?>

admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'ahsitw_bulk_convert' ), 'confirm_bulk' => __( 'Are you sure you want to start the bulk conversion? This might take a while.', 'ahs-image-to-webp-converter' ), /* translators: %1$s: processed count, %2$s: total count */ 'progress_text' => __( 'Processing: %1$s / %2$s images...', 'ahs-image-to-webp-converter' ), 'complete_text' => __( 'Conversion complete! Refreshing page...', 'ahs-image-to-webp-converter' ), ) ); } /** * Add action links on plugins page. * * @param array $links * @return array */ public function add_action_links( $links ) { $settings_link = sprintf( '%s', esc_url( admin_url( 'options-general.php?page=ahsitw-settings' ) ), esc_html__( 'Settings', 'ahs-image-to-webp-converter' ) ); array_unshift( $links, $settings_link ); return $links; } }