Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion plugins/webp-uploads/settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ function webp_uploads_add_media_settings_fields(): void {
add_settings_section(
'perflab_modern_image_format_settings',
_x( 'Modern Image Formats', 'settings page section name', 'webp-uploads' ),
'__return_empty_string',
'webp_uploads_render_settings_section_info',
'media',
array(
'before_section' => '<div id="modern-image-formats">',
Expand Down Expand Up @@ -139,6 +139,33 @@ function webp_uploads_add_media_settings_fields(): void {
*
* @since 2.0.0
*/
/**
* Render informational notice for the Modern Image Formats settings section.
*
* Explains why modern format images may not always be generated after upload.
*/
function webp_uploads_render_settings_section_info(): void {
?>
<div class="notice notice-info inline" style="margin:0;padding:10px 14px;">
<p>
<?php
echo wp_kses(
__( 'Modern image formats (e.g. WebP, AVIF) are only generated when they result in a smaller file than the original. If a converted image would be larger, the original is kept instead. For more details, see the <a href="https://wordpress.org/plugins/webp-uploads/#faq">FAQ</a>.', 'webp-uploads' ),
array(
'a' => array(
'href' => array(),
),
)
);
?>
</p>
</div>
<?php
}

/**
* Callback for rendering the AVIF/WebP output format setting.
*/
function webp_uploads_generate_avif_webp_setting_callback(): void {

$selected = webp_uploads_get_image_output_format();
Expand Down
12 changes: 12 additions & 0 deletions plugins/webp-uploads/tests/test-settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@

class Test_WebP_Uploads_Settings extends WP_UnitTestCase {

/**
* @covers ::webp_uploads_render_settings_section_info
*/
public function test_webp_uploads_render_settings_section_info_contains_notice(): void {
$output = get_echo( 'webp_uploads_render_settings_section_info' );

$this->assertStringContainsString( 'notice notice-info inline', $output );
$this->assertStringContainsString( 'Modern image formats', $output );
$this->assertStringContainsString( 'https://wordpress.org/plugins/webp-uploads/#faq', $output );
$this->assertStringContainsString( 'smaller file than the original', $output );
}

/**
* @covers ::webp_uploads_add_settings_action_link
*/
Expand Down
Loading