'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() ) )
);
?>
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;
}
}